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

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

图 1

图 2

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

数据库选择为:ASIAMINER_SSRS

使用的SQL语句:

/****** 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

四、右击主体->插入—>表,如图3

图3

把数据集中的字段拖到表中,如图4

图4

预览效果如图5

图5

五、前面的已经在之前的博文有说明过,表最重要的是组,一般就是行组。当数据表中数据列过多时,常用的技巧就是组化。组是将一组拥有相同特性数据的集合。

1.如果要设计组,请单击选中要产生组的数据行,如图6,右击选中“父组”即可,此处的父组指的是在外层的组。

图6

2.选择分组依据,此外,与数据表的概念相同,在每次新增组的时候,系统可以根据使用者的需求在组上下方产生新的数据行,分别为组头,组尾。

图7

3.设置王城之后,默认会在数据表最左侧产产生一个新的数据列,并且填入“组数据”的字段名称,同时该数据列的表头为“[TRX_YEAR]”。请先将新的数据列“[TRX_YEAR]”名称改为交易年度,并且删除原有的“交易年度”,也就是这里的第二列。如图8,如9

图8

图9

图10

4.预览如图11和图12

图11

图12

5.同时我们可以再交易年度的组内加入一个名为“产品大类”的子组,我们只留下销售量和销售额,此时,预览结果和预期有些不同,数据仍是呈现明细,而非根据两个组进行汇总。如图13和图14

图13

图14

预览如图15

图15

这是因为组内还有详细信息所造成的,因此,单击“详细信息”,并将它删除,在弹出的对话框中,选择“仅”删除组“。同时检查销售金额以及销售量的是否加入Sum的汇总函数。如图16和图17

        

图16                                                                                             图17

图18

最后的格式如图19:

图19

预览结果如图20

图20

六、高级数据表Tablix格式设置

传统的数据表只能讲数据集单次显示,但是,高级的Tablix则是可以将一个数据集利用不同的角度作重复的显示,具体来说,销售量报告除了依照产品类别查看之外,也可能要依照销售地区查看,传统的做法就只能够实用两个数据表,但Tablix则是可以将它并排在同一个项目之中。以下我们将介绍如何实用Tablix设计不同角度的合并业务报表。

设计方式组只需要在 设计区域下方的”行组“ 面板中选择”产品大类(PRODUCTCATEGORY_NAME)“的组,右击选择”添加组“—>“后面相邻”,在弹出画面中选择组已经为[COUNTRY_NAME],如此即可产生一组平行与”产品大类“组的新组。如图21

      

图21                                                                                                  图22

设置后,如图23

图23

预览如图24,请仔细观察,我刻意没有把新的相邻组的数值设置与之前相同的字符串格式,这是因为要让各位理解,上下两个相邻组的格式是可以各自独立的。

善于Tablix的属性,设计者可以自由地在数据行和数据列处设定静态(数量固定)以及动态(数量随列变动)的组,同时可以设置并排式的组,以强化报表的可读性。

图24

数据表的使用 ,就说明到这里,具体还需要在实践中多使用,就会熟练掌握。

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

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

【Reporting Services 报表开发】— 数据表的使用的更多相关文章

  1. 【Reporting Services 报表开发】— 交互式报表

    我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...

  2. 【Reporting Services 报表开发】— 页码编列

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

  3. 【Reporting Services 报表开发】— 表达式

    一.常用的SSRS原始函数可以打开文本框的表达式中看到,如图1 图1 如下为SSRS中设计报表时常用的运算函数: 运算符/函数 说明 + 前后位数字则为加法,前后为字符串则为链接符号 - 数值减法 * ...

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

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

  5. 【Reporting Services 报表开发】— 如何根据明细的行数实现分页(比如每隔5行分页)

    一.新建报表:对于初学者可以参考我前面的文章[Reporting Services 报表开发]— 总结 如图1: 图 1 二.选择 new_name文本框—>添加组—>选择行组中的父组.具 ...

  6. 【Reporting Services 报表开发】— 数据表存储格式修改

    文本框 Format属性:日期:输入d(表示简易日期).2007/5/1 0:00:00   输入d之后 变成 2007/5/1 金额:输入C0(表示货币),系统会根据设定值产生对应的货币符号,至于0 ...

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

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

  8. 【Reporting Services 报表开发】— 如何设置报表分页列标题每一页都显示

    一.打开已经开发好的报表ReportTest,选择列组下的高级模式—>选择行组的静态(会关联列标题订单编号),修改下面的属性: 1.Hidden:False 2.FixedData:True 3 ...

  9. 【Reporting Services 报表开发】— 怎么根据当前表单的guid作为参数查询相关数据?

    select AId from FilteredA as CRMAF_FilteredA 用这个 作为一个DataSet1 , 然后添加在报表里面添加一个参数 @AId,设置的默认的查询为前面Data ...

随机推荐

  1. CODEVS1001 舒适的路线 (并查集)

    对所有边从大到小排序,枚举最大边,O(m)验证,用并查集维护图是否联通. program CODEVS1001; ; maxn=; INF=; type arr=record u,v,w:int64; ...

  2. Event Logging

    编号:1001 时间:2016年3月29日16:24:33 功能:Event Logging 技术简介 URL:http://blog.csdn.net/colorknight/article/det ...

  3. 关于limit hashlimit资料整理

    这几天正在捣鼓防火墙,用到了hashlimit模块.Google了一圈发现相关的文档无论英文还 是中文都很少, 所以我就把自己的折腾的心得记录下来吧. hashlimit是iptables的一个匹配模 ...

  4. 堆(Heap)和二叉堆(Binary heap)

    堆(Heap) The operations commonly performed with a heap are: create-heap: create an empty heap heapify ...

  5. ZOJ Problem Set - 3635

    题目大意 有n个从1..n标号的座位,按时间顺序给出每个客人来的时候是坐在第几个空座位,最后给若干个询问问第i号客人坐在哪里 分析 线段树+二分 // Fast Sequence Operations ...

  6. Java-->多线程复制(文件指针)

    --> 这里用到两种方法...其实也不算两种,就一点点不一样而已... ---> Test 测试类 package com.dragon.java.multithreadcopy; imp ...

  7. Canvas俄罗斯方块

    写在前面 潜水博客园多年,从未写过博客.最近才注册博客,遂将很久前写的俄罗斯方块分享出来.第一次写博客,不喜勿喷... 游戏说明 游戏操作:J向左,L向右,I旋转,K快速下降 游戏基于HTML can ...

  8. sencha 环境配置

    sencha generate app MyApp MyApp 首先需要注意的是安装 sencha 并执行相关命令. 搞了老半天才知道 想要创建空项目首先 必须的在sdk 目录下才可以.好像据说第二次 ...

  9. 转:bash: /dev/null: Permission denied

    普通用户登录:bash: /dev/null: Permission denied 2012-12-07 16:01:36|  分类: linux |举报 |字号 订阅     Last login: ...

  10. (转载)Hadoop map reduce 过程获取环境变量

    来源:http://www.linuxidc.com/Linux/2012-07/66337.htm   作者: lmc_wy Hadoop任务执行过程中,在每一个map节点或者reduce节点能获取 ...