【Reporting Services 报表开发】— 级联式参数设置
级联式参数设置
再清楚的菜单,只要遇到选择项目一多的时候,难免会让人眼花缭乱,而找不到该选的选项。举例来说,像是零售业动辄万种商品品类,如果希望快速的选择到希望查看的产品品类时,就需要更有效率的搜索方式。
当选择西选项过多时,可以用其他参数作为“预选”的项目,当前置参数被选定之后,就会同时限制了后设参数的值域,如此一来,即可做到快速选项减量的目的,例如,选择了“产品大分类”为灯具后,那么“产品中分类”就只会筛选出在这个大分类下的项目,而这项功能称之为“级联式参数(Cascading Parameter)”,具体看下面的示例。
一、打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4
二、在报表文件下下面,新建报表,名称为CascadingParameterReport,具体如图1和图2

图1

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

图3

图4

图5

图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:

图7

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

图9
四、TIP 级联参数的优先级:在树状目录下的参数顺序表示他们被产生的顺序,因此需要注意到逻辑的合理性,例如,本示例中我们应该是先选择产品大类参数,才会选择产品中类参数,因此需要特别注意优先级。
1.接下来,设置产品大类以及产品种类这两个参数。首先开启productcategory_key参数的属性对话框,除了在“常规”标签页中将它的“提示”改成“产品大类”,以及勾选“允许多个值”之外,同时切换至“可用值”标签页,勾选“从查询中取得值”,并且将数据集切换为“ProductCategoryList”,将值字段设为“productcategory_key”(实际传递至where条件的参数值),将标签字段设为“productcategory_name”(使用者看的董的内容),具体如图10和图11:

图10

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

图12

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

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

图15

图16
这种级联式的报表不但方便使用者勾选,同时还可以集成企业内部的权限层级,作到复杂的权限控制。
参考书籍《SQL Server 2008 R2 Reporting Services 报表服务》
需要下载的数据库和SQL脚本:http://www.wsbookshow.com/bookshow/kjlts/jsj/kfzj/11395.html 的图书详情—>下载资源
【Reporting Services 报表开发】— 级联式参数设置的更多相关文章
- 【Reporting Services 报表开发】— 交互式报表
我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...
- 【Reporting Services 报表开发】— 数据表的使用
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH3 二.在报表文件 ...
- 【Reporting Services 报表开发】— 页码编列
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4 二.在报表文件 ...
- 【Reporting Services 报表开发】— 矩阵的使用
矩阵,相较于数据表示一维的数据,只能指定固定的数据列,来呈现动态的明细数据行,所以,它可以说是种二维的数据展现形式,让我们能够很容易地从数据行和数据集的交替中查看对应的汇总信息.像SQL Server ...
- Reporting Services报表常用的URL参数
http://blog.sina.com.cn/s/blog_5ef7acf5010118a5.html Reporting Services报表常用的URL参数 (2012-03-01 20:57: ...
- 【Reporting Services 报表开发】— 如何根据明细的行数实现分页(比如每隔5行分页)
一.新建报表:对于初学者可以参考我前面的文章[Reporting Services 报表开发]— 总结 如图1: 图 1 二.选择 new_name文本框—>添加组—>选择行组中的父组.具 ...
- 【Reporting Services 报表开发】— 表达式
一.常用的SSRS原始函数可以打开文本框的表达式中看到,如图1 图1 如下为SSRS中设计报表时常用的运算函数: 运算符/函数 说明 + 前后位数字则为加法,前后为字符串则为链接符号 - 数值减法 * ...
- 【Reporting Services 报表开发】— 数据表存储格式修改
文本框 Format属性:日期:输入d(表示简易日期).2007/5/1 0:00:00 输入d之后 变成 2007/5/1 金额:输入C0(表示货币),系统会根据设定值产生对应的货币符号,至于0 ...
- 【Reporting Services 报表开发】— 怎么根据当前表单的guid作为参数查询相关数据?
select AId from FilteredA as CRMAF_FilteredA 用这个 作为一个DataSet1 , 然后添加在报表里面添加一个参数 @AId,设置的默认的查询为前面Data ...
随机推荐
- css3 动画贝塞尔曲线
http://cubic-bezier.com/#.17,.67,.83,.67 缓动函数速查表: http://www.xuanfengge.com/easeing/easeing/ Ceaser: ...
- hdu1033Defragment
参考:http://blog.csdn.net/ll365594480/article/details/6843449 [题意]磁盘分为N个簇,一个文件可以占用K个簇,(1 <= K < ...
- Unity3D ShaderLab Use Properties
在上一篇,学会了怎么使用ShaderLab 语法:Properties,这一次,我们将会使用属性值点亮材质球. 1:Delete>sampler2D _MainTex; 2:1行位置Add> ...
- 为什么web标准中无法设置IE浏览器滚动条颜色了?
<!doctype html><html> <head> <meta charset="UTF-8"> <meta name= ...
- FTP服务器移动文件目录
已经可以移动文件了,原因是路径问题.还是用的Rename方法.原因是RenameTo=“”;这里的路径之前没包含文件名,而且相对路径和绝对路径都没弄对,所以之前一直不相信别人说的Rename可以移动文 ...
- 常用http请求状态码含义
1** ----临时响应 2** ----成功响应 3** ----重定向 4** ----请求错误 5** ----服务器错误 常用的几个如下: 200---服务器成功返回网页 301-- ...
- PAT (Basic Level) Practise:1001. 害死人不偿命的(3n+1)猜想
[题目链接] 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在19 ...
- linux,下载与安装
1.下载地址 1.网易开源镜像站 http://mirrors.163.com 2.centos 官方站 http://www.centos.org 2.虚拟机 VirtualBox ------- ...
- JS开发者常用的10个Sublime Text插件
Sublime Text 是每个开发者工具箱中都应该有的一个强大的应用.它是一个跨平台的.高定制化的.高级的文本编辑器,在功能强大的 集成开发环境(众所周知地消耗资源)和类似于 Vim 或 Emacs ...
- ubuntu 双屏问题的解决方案
ubuntu有一个很让人头疼的问题就是它默认开启双屏.只要你有两个显示器接口,即使你没有两块屏幕,它也是按照双屏幕去显示. 这就会造成一些很让人无语的问题,比如,恰好跳到你没有的那个屏幕就可能导致无法 ...