我的报告有几个(多选)参数查询一个巨大的表。我没有选中每个参数的默认“全选”复选框,而是将参数列表的“全部”选项联合起来并将其设置为默认选项,因此我的参数选项如下所示:
[ ] (Select All)
[X] ALL
[ ] Alabama
[ ] Alaska
[ ] Arizonia
[ ] Arkansas
etc...
我这样做是出于性能目的,因此如果选择“ALL”,则查询不会将其作为另一个WHERE IN子句包含在内。我使用动态sql实现了这一点,这有点痛苦。
* 所以最后我的问题是,在数据集属性中的“过滤器”下,基于参数选择过滤数据集的传统方法是例如将1设置为:
Expression: [US_STATE]
Operator: IN
Value: @parameter_STATE
有什么方法可以使用这个内置的数据集过滤器(在Report Builder 3.0中)来实现:
IF @parameter_STATE = 'ALL' then
do nothing / don't include filter
ELSE
Expression: [US_STATE]
Operator: IN
Value: @parameter_STATE
我认为有一种方法可以做到这一点,这比使用动态SQL处理它要容易得多?非常感谢任何信息,提前感谢!