Handling non existent values in sql query expression for ssrs chart

后端 未结 6 1845
野性不改
野性不改 2020-12-20 10:49

I am using the following query in an ssrs line chart. It counts how many orders are recorded each month based on each order date.

My problem is that when a month has

6条回答
  •  臣服心动
    2020-12-20 11:14

    ;WITH m(m) AS ( SELECT TOP 12 ROW_NUMBER() OVER (ORDER BY [object_id]) FROM sys.objects )
    SELECT [MONTH] = m.m,
      Worker1 = COUNT(CASE WHEN COALESCE(@Worker_ID1, w.ID) = w.ID THEN 1 END),
      Worker2 = COUNT(CASE WHEN COALESCE(@Worker_ID2, w.ID) = w.ID THEN 1 END),
      Worker3 = COUNT(CASE WHEN COALESCE(@Worker_ID3, w.ID) = w.ID THEN 1 END),
      Worker4 = COUNT(CASE WHEN COALESCE(@Worker_ID4, w.ID) = w.ID THEN 1 END),
      Worker5 = COUNT(CASE WHEN COALESCE(@Worker_ID5, w.ID) = w.ID THEN 1 END)
    FROM m
    LEFT OUTER JOIN dbo.Ord AS o
    ON o.OrdDate >= DATEADD(MONTH, m.m-1, RTRIM(@Year)+'0101')
    AND o.OrdDate < DATEADD(MONTH, m.m, RTRIM(@Year+'0101')
    INNER JOIN dbo.Prod     AS p  ON o.Prod_ID     = p.ID
    INNER JOIN dbo.ProdType AS pt ON p.ProdType_ID = pt.ID
    INNER JOIN dbo.Grouping AS g  ON o.Grouping_ID = g.ID
    INNER JOIN dbo.Worker   AS w  ON g.Worker_ID   = w.ID
    WHERE (@DrugType_ID IS NULL OR pt.ID = @ProdType_ID)
    GROUP BY m.m
    ORDER BY m.m;
    

提交回复
热议问题