SSRS 2012 交互式报表 -- 钻取式报表
当分析者运用报表观察汇总数据时,当对某个数据感兴趣或是察觉异常时,往往需要调阅汇总值,以仔细深入分析。这种需求称之为钻取(Drill-Through),钻取的观念也是来自于多维度分析,不过大家要注意别与刚才介绍的深化(Drill-Down)报表搞混了。
所谓的钻取式报表是由母子报表(两张独立的报表)所构成,在母报表可以预先定义某些区域经点击后可以调用子报表,使用者借由触发母报表的单元格,以导向定义好的子报表。同时在母报表连接至子报表的过程中,可以根据点击母报表单元格的位置,截取字段信息转换为报表参数自动输入至子报表。例如,我们可以在母报表呈现汇总后每月的订单金额,但如果使用者想要了解该月订单的所有详细信息时,可以点选感兴趣的订单月份,此时自报表中就会出现所有订单明细,使用者就可以运用子报表了解较详细的信息,如订购产品、订购客户、出货日期等。钻取式报表不局限于“汇总->明细”的母子关系,子报表也可以设计为母报表的说明性信息,或是其他角度的汇总报表。
钻取式报表示例
在此沿用深化式报表作为母报表,同时设计一张销售明细表作为子报表,当点选母报表数据格时,会将该单元格的字段带入子报表的参数,以显示该单元格的销售明细。
步骤1:
设计包含销售明细数据的子报表,在子报表的数据集中需加入对应的报表参数(销售年、销售月、产品大类、产品子类)。
SELECT TRX_DTE, PRODUCTCATEGORY_NAME, PRODUCTSUBCATEGORY_NAME, PRODUCT_NAME, BUSINESS_TYPE, STORE_NAME, SALES_QTY, SALES_AMT FROM FACT_SALES A LEFT JOIN DIM_PRODUCT B ON A.PRODUCT_KEY=B.PRODUCT_KEY LEFT JOIN DIM_PRODUCTSUBCATEGORY C ON B.PRODUCTSUBCATEGORY_KEY=C.PRODUCTSUBCATEGORY_KEY LEFT JOIN DIM_PRODUCTCATEGORY D ON C.PRODUCTCATEGORY_KEY=D.PRODUCTCATEGORY_KEY LEFT JOIN DIM_STORE E ON A.STORE_KEY=E.STORE_KEY WHERE YEAR(TRX_DTE)[email protected] AND MONTH(TRX_DTE)[email protected] AND [email protected]RODUCTCATEGORY AND ([email protected] OR [email protected])
步骤2:
选择母报表中与产品子类交叉的“销售金额”内容单元格,右击选择“Text Box Properties”,切换至“Action”标签页,选择“Go to report”,并在下拉菜单中设计好的子报表名称。
步骤3:
接下来在下方的“Use these parameters to run the report”,点击“Add”按钮,在“Name”下拉菜单中选择子报表的参数名称,并在“Value”的下拉菜单中选择母报表中要传递出去的参数字段(可以是字段、参数、内置字段或是表达式),即完成设定后请单击“OK”按钮。
步骤4:
至于与产品大类交叉的销售金额单元格,因为并没有细到产品子类,因此能够传递的参数自然也会不同,所以必须要选择全部的产品子类,因此,我们子报表的参数才会以之前介绍过的全选的方式撰写。此时的参数传递结构如下:
步骤5:
切换至“Preview”标签页,此时,当浏览者在母报表中点选销售金额字段中的任一单元格,就会启动子报表,同时自报表中会呈现母报表单元格销售的详细资料。
可在使用钻取哦国内能后的自报表上方看到系统自动带入的参数内容,如果参数值不希望使用者有机会自行修改,那么可在子报表的参数的“可见性”设为“隐藏”。如此一来,浏览者在子报表中就看不到这个参数的输入界面。但是相对的,使用者无法直接使用子报表(因为无法输入参数),只能通过母报表取得子报表内容。
不管是钻取式报表或是之前介绍过的书签功能,都是利用单元格的Action属性。利用单元格Action属性的设置,可以通过报表内部来开启网页、报表或是跳到同一张报表预设书签的部分,目前SSRS所提供的Action属性有以下三种:
n 转到报表。
n 转到书签。
n 转到URL。
“转到报表”的功能就是钻取报表。“转到书签”则是链接至默认书签之外。至于“转到URL”是点击设定过的文本框可以通过超链接开启网页或是放在网站上的图片,在此处设置的URL可以是固定的字串或是运算式,因此,如果报表需要加入动态的网页查询时,“转到URL”是很方便的功能。目前SSRS提供文本框以及图像文件设定“转到URL”,可以通过这项功能在报表上设计与其他网页的互相链接。