码迷,mamicode.com
首页 > 其他好文 > 详细

【Reporting Services 报表开发】— 矩阵的使用

时间:2014-05-25 23:26:16      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   c   code   tar   

矩阵,相较于数据表示一维的数据,只能指定固定的数据列,来呈现动态的明细数据行,所以,它可以说是种二维的数据展现形式,让我们能够很容易地从数据行和数据集的交替中查看对应的汇总信息。像SQL Server中的行专列就可以利用矩阵来实现其功能。

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

二、在报表文件夹下面,添加—>新建项。命名为PirvotTableTest,如图1和图2

bubuko.com,布布扣   

                    图 1

bubuko.com,布布扣 

                                                     图 2

 三、添加数据源、添加数据集。这里不知道可以参考 : 【Reporting Services 报表开发】— 总结

这里数据集的SQL语句:

bubuko.com,布布扣
/****** SSMS 中 SelectTopNRows 命令的指令碼  ******/
SELECT 
YEAR(TRX_DTE) AS TRX_YEAR,
DATEADD(dd,1-DAY(TRX_DTE),TRX_DTE) AS TRX_MONTH,

C.PRODUCTSUBCATEGORY_KEY,
C.PRODUCTSUBCATEGORY_NAME,
D.PRODUCTCATEGORY_KEY,
D.PRODUCTCATEGORY_NAME,
F.COUNTRY_NAME,
SUM(SALES_AMT) AS SALES_AMT,
SUM(SALES_QTY) AS SALES_QTY
FROM dbo.FACT_SALES A
LEFT JOIN 
dbo.DIM_PRODUCT B
ON A.PRODUCT_KEY=B.PRODUCT_KEY
LEFT JOIN 
dbo.DIM_PRODUCTSUBCATEGORY C
ON B.PRODUCTSUBCATEGORY_KEY=C.PRODUCTSUBCATEGORY_KEY
LEFT JOIN 
dbo.DIM_PRODUCTCATEGORY D
ON C.PRODUCTCATEGORY_KEY=D.PRODUCTCATEGORY_KEY
LEFT JOIN
dbo.DIM_STORE E
ON A.STORE_KEY=E.STORE_KEY
LEFT JOIN 
dbo.DIM_REGION F
ON E.REGION_KEY=F.REGION_KEY
GROUP BY 
YEAR(TRX_DTE) ,
DATEADD(dd,1-DAY(TRX_DTE),TRX_DTE) ,
C.PRODUCTSUBCATEGORY_KEY,
C.PRODUCTSUBCATEGORY_NAME,
D.PRODUCTCATEGORY_KEY,
D.PRODUCTCATEGORY_NAME,
F.COUNTRY_NAME
View Code

  bubuko.com,布布扣

                                                                   图 3

四、在报表主体部分,右击—>插入—>矩阵,如图4和图5

bubuko.com,布布扣   bubuko.com,布布扣

                       图4                                                                       图 5

 

五、拖放字段至矩阵报表,并在第一行地一列输入产品大类名称,如图6,7,8,9,10,11,12

bubuko.com,布布扣

                      图 6

    选中第二列—>插入列—>组内部-右侧

 bubuko.com,布布扣     bubuko.com,布布扣

                                  图 7                                                                                                      图 8

然后在第二行第二列,聚合汇总,具体如下图:

bubuko.com,布布扣           

                 图9

 

 

   bubuko.com,布布扣

                                              图10

 

bubuko.com,布布扣

                                              图11

 

bubuko.com,布布扣

                                      图12

    选择 [Sum(SALES_AMT)]和[Sum(SALES_QTY)]的行,加入组外数据列,在新增的数据列加入表态说明,如下图13和图14

bubuko.com,布布扣

 

                                                         图13

bubuko.com,布布扣

                                     图14    

六、切换到阅览标签页,另外可使用格式化属性以调整矩阵的外观。如图15

 bubuko.com,布布扣

                                                                                                图15

 七、矩阵组的使用

    在矩阵中添加子组  

    1.选中行组(PRODUCTCATEGORY_NAME),—>添加组—> 子组

      bubuko.com,布布扣

                                  图16

       2.选择分组依据 [PRODUCTSUBCATEGORY_NAME]

       bubuko.com,布布扣

                                      图17

       bubuko.com,布布扣

                                             图18

     3.切换到阅览标签页,另外可使用格式化属性以调整矩阵的外观,可以选择一行,按F4,BackgroundColor(背景色):LigthBlue(青蓝色)。BorderColor:Black.背景色一般和企业的logo颜色一致。bubuko.com,布布扣

                                                                                                      图19

    4.数据列以两层的结构来显示产品大类与产品中类见的层次关系,不过这种显示模式当层数过对时会造成画面膨胀,进而让使用者不易阅读的缺点,在此介绍利用Tablix才能实现作作出的缩排式组报表(在报表生成器中称之为阶梯式层次),就能利用最经济的空间来显示层次关系。

      首先,在“产品种类“子组(PRODUCTSUBCATEGORY_NAME),选择”添加总计“—>”早于“,此时,会在数据行上方加入总计行,如图20

      bubuko.com,布布扣

                                                             图20 

      bubuko.com,布布扣

                                 图21

       接下来,将默认的“总计”替换为[PRODUCTCATEGORY_NAME](点击总计文本框,表达式,选择数据集的字段[PRODUCTCATEGORY_NAME]),

       接下来,请将第一列删除,同时将[PRODUCTSUBCATEGORY_NAME]的”Padding“—>”Left“ 属性改为"12pt",即可完成缩排效果。

  如图22和图23

       bubuko.com,布布扣

                                           图22

        bubuko.com,布布扣

                                                                                      图23  

  预览效果如图24

  bubuko.com,布布扣

  图24  

矩阵需要大家多多练习,就可以熟练掌握了。

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

 

【Reporting Services 报表开发】— 矩阵的使用,布布扣,bubuko.com

【Reporting Services 报表开发】— 矩阵的使用

标签:style   class   blog   c   code   tar   

原文地址:http://www.cnblogs.com/allenhua/p/3750129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!