• This query filters out the weekends
    😎

    USE TEEST;
    GO
    SET NOCOUNT ON;

    DECLARE @SAMPLE_SIZE INT = 100;
    ;WITH T(N) AS (SELECT X.N FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) X(N))
    , NUMS(N) AS (SELECT TOP(@SAMPLE_SIZE) ROW_NUMBER() OVER (ORDER BY @@VERSION) AS N
         FROM T T1,T T2,T T3)
    ,SAMPLE_DATA AS
    (
      SELECT
       NM.N           AS SD_RID
       ,DATEADD(DAY,NM.N,GETDATE() - 15)  AS SD_DATE
       ,1 + (ABS(CHECKSUM(NEWID())) % 3 ) AS SD_GROUP
       ,ABS(CHECKSUM(NEWID())) % 1000   AS SD_VALUE
      FROM  NUMS  NM
    )
    SELECT
      SD.SD_GROUP
     ,SUM(SD.SD_VALUE)  AS [Forecast]
     --,SD.SD_RID
     --,SD.SD_DATE
    FROM  SAMPLE_DATA  SD
    WHERE SD.SD_DATE >= CONVERT(DATE,GETDATE(),0)
    AND  SD.SD_DATE <  CONVERT(DATE,GETDATE() + 29,0)
    AND  (DATEDIFF(DAY,0,SD.SD_DATE) % 7) < 5
    GROUP BY SD.SD_GROUP;