SSRS过滤参数

时间:2012-07-30 21:47:49

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

我在ssrs报告中有“国家/地区”过滤器下拉列表。这包含所有国家/地区,它是一个多选下拉列表。如果用户选择“全部”,则报告将所有国家/地区名称逗号分隔到存储过程,我在其中查询以显示数据。在存储过程中,我拆分值并比较数据。到目前为止没有问题。现在我想要的是,如果用户选择“全部”,我不需要将所有逗号分隔值传递给SP,而是传递null。所以在我的sp中我不必拆分或加入表格。问题是确定用户是否在报告标准中选中了“全部”复选框。有没有办法找到这个是否选择了“全部”?

这个国家是动态的,所以我没有查找价值来计算所有国家/地区。 参数!Country.Count == 10 - 我做不到,因为我不知道10。

1 个答案:

答案 0 :(得分:0)

您可以创建一个单独的数据集来计算国家/地区。

Select count(countryName) as cntCountry from yourTable

现在您可以将此字段cntCountry与Parameters!Country.Count

进行比较
Fields!cntCountry.Value==Parameters!Country.Count 

或者您可以使用CountRows函数传递数据集

Parameters!Country.Count=CountRows(dataset1)

编辑:如果上述内容不起作用

   Parameters!Country.Count=CountRows()

为什么不在数据集中创建一个存储行数的字段。而创建数据集只需在sql查询中获取row_number,然后将此值与Parameters!Country.Count

匹配