ssrs 꺾은 선형 차트에서 다음 쿼리를 사용하고 있습니다. 각 주문 날짜를 기준으로 매월 기록되는 주문 수를 계산합니다.ssrs 차트에 대한 sql 쿼리 식에 존재하지 않는 값 처리
내 문제는 한 달에 주문이 없으면 0이나 null이 아니라 모든 달의 행이 함께 제거된다는 것입니다. 0으로 계산하는 것이 더 좋지만 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