SSRS 2012 参数化报表 -- 复选参数

SSRS 2012 参数化报表 -- 复选参数

除了单选参数之外,目前SSRS也支持复选参数的功能,只需利用“Allow multiple values”选项,即可轻松处理复选问题。

 

复选参数实例


步骤1

使用复选必须有个前提,就是在查询语法的WHERE条件中必须使用IN(参数)的句型。因此,请先将数据集的查询语句替换为带有IN的。如下:

WHERE YEAR(TRX_DTE) IN(@YEAR)

 

步骤2

接下来,进入“@YEAR”参数属性对话框,勾选“Allow multiple values”选项即可。

 

clip_image002

 

步骤3

当切换至预览报表画面时,此时可以看到下拉菜单内变成确认框,同时在最上方加入了“Select All”选项。

 

clip_image004

 

从刚才的实例中可以看到,当设置为复选时,系统会自动帮我们产生一个全选的选项,但是这个全选的选项仍有一个小缺点,如果在设置默认值时,是不能默认全选的。为了解决默认全选的问题,需要再额外做一些处理。那该如何达到全选的效果呢?此时,只需要把WHERE条件的内容改成以下即可:

WHERE YEAR(TRX_DTE)=@YEAR OR -1=@YEAR

 

唯一的差异就是在WHERE条件中加入OR条件式,当@YEAR为-1时,则 “-1=@YEAR” 就会变成“-1=-1”的恒等式,所以等于没有设置筛选条件,即可达到全选的效果。请注意!条件式必须是利用OR连接。在之前的范例中,下拉菜单的值与标签是没有区分的,但是,当我们调整了全选设置时,总不能让使用者看到一个年度叫做-1吧,因此,将下拉菜单的语法做了些调整,另外产生一个字符串列以显示年度信息。

 

clip_image006

 

完成以上修改后,我们再重新查看报表的效果。此时,就会产生新的全选选项,只要在默认值中指定值为-1,默认即是选择全部的销售年度了。

 

clip_image008

 

clip_image010


你可能感兴趣的:(SSRS,报表设计,报表服务)