SSFS加载报告,即使级联参数为空

时间:2016-03-21 14:10:04

标签: sql-server reporting-services ssrs-2008 report expression

我有级联参数,例如:Year> Company选择Year值后,Company参数会刷新。

例如,如果我选择2016,但今年没有数据,Company参数为空(没有值),报告说该参数不能为空(我已检查过“允许空白值“”“,但它不适用于多值参数)请参见下图:

blank parameter

error cant be blank

如何使用以下消息加载报告:“抱歉,没有数据”?如果没有其他值,或者为Company参数提供任何默认值?你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

一种解决方案是使您的Year参数数据驱动,与您的公司在同一个表中。创建一个类似下面的新数据集,并将其用作Year参数的可用值。

SELECT DISTINCT year  
FROM companies
WHERE report_relevant = 'Yes'  
ORDER BY 1

这限制了用户只选择存在有效公司的年份。只要将2016公司添加到您的数据中,该报告就会自动将2016年作为年度参数选项。

答案 1 :(得分:0)

您可以使用UNION向参数添加额外的一行数据,但Count()是您的有效公司,因此只有在没有其他公司的情况下才会包含额外的行。

SELECT company_id, company_name
FROM companies
WHERE year = @Year
UNION
SELECT '-1', 'No companies in ' + @Year
WHERE (SELECT Count(company_id) FROM companies WHERE YEAR = @Year) = 0