【Reporting Services 报表开发】— 级联式参数设置

级联式参数设置

再清楚的菜单,只要遇到选择项目一多的时候,难免会让人眼花缭乱,而找不到该选的选项。举例来说,像是零售业动辄万种商品品类,如果希望快速的选择到希望查看的产品品类时,就需要更有效率的搜索方式。

当选择西选项过多时,可以用其他参数作为“预选”的项目,当前置参数被选定之后,就会同时限制了后设参数的值域,如此一来,即可做到快速选项减量的目的,例如,选择了“产品大分类”为灯具后,那么“产品中分类”就只会筛选出在这个大分类下的项目,而这项功能称之为“级联式参数(Cascading Parameter)”,具体看下面的示例。

一、打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4

二、在报表文件下下面,新建报表,名称为CascadingParameterReport,具体如图1和图2

【Reporting Services 报表开发】— 级联式参数设置

图1

【Reporting Services 报表开发】— 级联式参数设置

图2

三、添加数据源,选择的数据库名称为ASIAMINER_SSRS,具体如下图3,4,5,6:

1.右击数据源,添加数据源

【Reporting Services 报表开发】— 级联式参数设置

图3

【Reporting Services 报表开发】— 级联式参数设置

图4

【Reporting Services 报表开发】— 级联式参数设置

图5

【Reporting Services 报表开发】— 级联式参数设置

图6

2.添加数据集,需要用到的SQL语句,如下:

--ProductSubcategoryList
select
productsubcategory_key,
productsubcategory_name
from dim_productsubcategory
where productcategory_key in (@productcategory_key)
--ProductCategoryList
select
productcategory_key,
productcategory_name
from dim_productcategory

如图7和图8:

【Reporting Services 报表开发】— 级联式参数设置

图7

【Reporting Services 报表开发】— 级联式参数设置

图8

设置完成之后,报表窗口显示如下

【Reporting Services 报表开发】— 级联式参数设置

图9

四、TIP 级联参数的优先级:在树状目录下的参数顺序表示他们被产生的顺序,因此需要注意到逻辑的合理性,例如,本示例中我们应该是先选择产品大类参数,才会选择产品中类参数,因此需要特别注意优先级。

1.接下来,设置产品大类以及产品种类这两个参数。首先开启productcategory_key参数的属性对话框,除了在“常规”标签页中将它的“提示”改成“产品大类”,以及勾选“允许多个值”之外,同时切换至“可用值”标签页,勾选“从查询中取得值”,并且将数据集切换为“ProductCategoryList”,将值字段设为“productcategory_key”(实际传递至where条件的参数值),将标签字段设为“productcategory_name”(使用者看的董的内容),具体如图10和图11:

【Reporting Services 报表开发】— 级联式参数设置

图10

【Reporting Services 报表开发】— 级联式参数设置

图11

2.添加productsubcategory_key参数,首先开启productsubcategory_key参数的属性对话框,除了在“常规”标签页中将它的“提示”改成“产品中类”,以及勾选“允许多个值”之外,同时切换至“可用值”标签页,勾选“从查询中取得值”,并且将数据集切换为“ProductSubcategoryList”,将值字段设为“productsubcategory_key”(实际传递至where条件的参数值),将标签字段设为“productsubcategory_name”(使用者看的董的内容),具体如图12和图13:

【Reporting Services 报表开发】— 级联式参数设置

图12

【Reporting Services 报表开发】— 级联式参数设置

图13

添加之后参数之后,报表窗口如下图14:

【Reporting Services 报表开发】— 级联式参数设置

图14

五、设置完成之后,将报表切换至“预览”标签页预览报表,首先,会看到只有第一个参数可以利用下拉菜单选择,产品中类的菜单式被锁住而无法使用的(如图15)。当产品大类选单选值(灯具)之后,产品中类仅显示灯具类的中分类项目,当产品大类切换为其他项目时,产品中类也会跟着联动(如图16)。

【Reporting Services 报表开发】— 级联式参数设置

图15

【Reporting Services 报表开发】— 级联式参数设置

图16

这种级联式的报表不但方便使用者勾选,同时还可以集成企业内部的权限层级,作到复杂的权限控制。

参考书籍《SQL Server 2008 R2  Reporting Services 报表服务》

需要下载的数据库和SQL脚本:http://www.wsbookshow.com/bookshow/kjlts/jsj/kfzj/11395.html 的图书详情—>下载资源

上一篇:改善C#程序,提高程序运行效率的50种方法


下一篇:IntelliJ IDEA 2016.2.4 最新版激活方法