如果用户从多值参数中选择all,则使用if来运行一个查询,如果没有,则使用另一个查询。所以我想比较一下数据集中选定的参数和行。然而,我得到了这个错误:
“用于dataset 'DataSet2‘中的参数'DataSet2’的表达式包括一个聚合或查找函数。聚合和查找函数不能用于查询参数表达式。“
以下是给出问题的部分:
IIf(Parameters!SomeOptions.Count < COUNTROWS("SOME_LIST"), ….
当然,用COUNTROWS("SOME_LIST")
(它返回的值)来补充15
很好。有人知道为什么会发生这样的事吗?
发布于 2013-12-02 13:41:09
在没有IsSelectAll标志的情况下,这里有一个解决方案:
发布于 2021-04-29 21:51:20
如果您有一个多选择参数,其数据源是dataset,并且您想知道是否检查了所有数据集,那么在您的报表数据集中(如SQL)中要正确筛选,请不要再看了!
这有什么关系?假设您有一个dataset ( list作为参数的数据源,保存在服务器上供反复重用),用于显示供应商列表,供用户选择一个或多个(多个)。如果那张名单是一万长的呢。您不想使用: WHERE VENDOR_ID IN(@VENDOR)。如果列表足够长,它就会爆炸,您将不得不在SSRS日志中查找错误。因此,这就是为什么我们需要检查是否全部被选中。
@Vendor显然是用户交互的参数。
一直想做贡献。SE:报表生成器检查是否全部选中SE:报表生成器如何检查是否全部选中SE:报表生成器参数查询表达式不能使用聚合
https://stackoverflow.com/questions/20338311
复制