1

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

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

4

1 回答 1

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

于 2012-07-31T01:18:44.380 回答