ssrs折れ線グラフで次のクエリを使用しています。各注文日に基づいて毎月記録される注文の数をカウントします。ssrsグラフのsqlクエリ式に存在しない値を処理する
私の問題は、月に何も注文がない場合、ゼロまたはヌルというよりも、その月の行をまとめて削除することです。私はゼロとしてそれを数えることを好むだろうが、nullも大丈夫だろう。
基本的には、情報が含まれているかどうかにかかわらず、常に12行が必要です。
どうすればこの問題を解決できますか?私は何か使える表現がありますか?あるいは、私は完全に明白な何かを逃しています
SELECT
MONTH(Ord.OrdDate) AS 'MONTH',
COUNT(CASE WHEN @Worker_ID1 IS NULL OR @Worker_ID1 = Worker.ID THEN 1 END) AS 'Worker1',
COUNT(CASE WHEN @Worker_ID2 IS NULL OR @Worker_ID2 = Worker.ID THEN 1 END) AS 'Worker2',
COUNT(CASE WHEN @Worker_ID3 IS NULL OR @Worker_ID3 = Worker.ID THEN 1 END) AS 'Worker3',
COUNT(CASE WHEN @Worker_ID4 IS NULL OR @Worker_ID4 = Worker.ID THEN 1 END) AS 'Worker4',
COUNT(CASE WHEN @Worker_ID5 IS NULL OR @Worker_ID5 = Worker.ID THEN 1 END) AS 'Worker5'
FROM Ord
JOIN Prod ON Ord.Prod_ID = Prod.ID
JOIN ProdType ON Prod.ProdType_ID = ProdType.ID
JOIN Grouping ON Ord.Grouping_ID = Grouping.ID
JOIN Worker ON Grouping.Worker_ID = Worker.ID
WHERE @Year = YEAR(Ord.OrdDate)
AND (@ProdType_ID IS NULL OR @ProdType_ID = ProdType.ID)
GROUP BY MONTH(Ord.OrdDate)
これは厳密な答えではないので、私はコメントを使用します。 MONTH(Ord.OrdDate)とWorker.IDでグループ化し、ssrs-2008で提供されているピボット・テーブル(正しくリコールするとマトリックス・レポート)を使用することを検討してください。述語をAND Worker.ID IN(\ @ Worker_ID1、\ @ Worker_ID2、\ @ Worker_ID3、\ @ Worker_ID4、\ @ Worker_ID5)。いずれかがNULLの場合、IN句から暗黙的に除外されます。 – Griffin