如何在SSRS矩阵报告中包括数据集中未包含的行值

时间:2019-01-22 15:23:30

标签: reporting-services

在我的SSRS MATRIX报告中,我有2列,“评估公司”和“该日期中有计数的日期”列。在我的提取日期数据集中,有时我没有包括所有的评估公司。我有5个评估公司。用户希望为评估公司包括一行,但该行不是数据的一部分。这是我的数据集返回的内容:

enter image description here

这就是我想要的样子:

enter image description here

您会在AppraisalCompany列中看到带有IA的NEW ROW,在Date列中看到的值为0。我可以使用表达式在SSRS矩阵中完成此操作吗?

如果有人在这里提出建议,这也是我的SQL代码:

DECLARE @ActivityBeginDate date = '2019-01-01';
DECLARE @ActivityEndDate date = '2019-01-22';

SELECT 
    CASE        
        WHEN MONTH(ca.SysDate) = 1 THEN 'Jan-'+RIGHT(YEAR(ca.SysDate),2)  
        WHEN MONTH(ca.SysDate) = 2 THEN 'Feb-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 3 THEN 'Mar-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 4 THEN 'Apr-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 5 THEN 'May-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 6 THEN 'Jun-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 7 THEN 'Jul-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 8 THEN 'Aug-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 9 THEN 'Sep-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 10 THEN 'Oct-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 11 THEN 'Nov-'+RIGHT(YEAR(ca.SysDate),2) 
        WHEN MONTH(ca.SysDate) = 12 THEN 'Dec-'+RIGHT(YEAR(ca.SysDate),2) 
    END as SubmittedDate,
    --cac.AppraisalCompanyID,
    cac.AppraisalCompany
FROM dbo.CMS_AppraisalCompany cac
LEFT OUTER JOIN dbo.CMS_Appraisals ca
ON cac.AppraisalCompanyID = ca.AppraisalCompanyID
AND CAST(ca.SysDate as date) BETWEEN @ActivityBeginDate AND @ActivityEndDate
WHERE cac.AppraisalCompanyID IN (3, 9, 11, 12, 13) 
AND ca.AppraisalStatusID = 115
GROUP BY ca.SysDate, cac.AppraisalCompany, cac.AppraisalCompanyID
ORDER BY cac.AppraisalCompany asc;

任何帮助/指导将不胜感激。我试图通过存储过程中的case语句来完成这项工作,但无济于事,我希望SSRS可以帮助我完成此任务。希望这有意义。谢谢。

1 个答案:

答案 0 :(得分:1)

如我先前的评论中所述:

您希望将公司作为查询的起点并加入日期,以便无论是否有要加入的数据,都保留所有5个公司名称。

以下示例

SELECT ...
FROM CompaniesData
LEFT JOIN DatesStuff...
LEFT JOIN DataValuesStuff...