数据报表模板(数据报表)

导读 你们好,最近小活发现有诸多的小伙伴们对于数据报表模板,数据报表这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。1、

你们好,最近小活发现有诸多的小伙伴们对于数据报表模板,数据报表这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、本节详细讲解了如何使用距表控件实现单维度交叉表,即动态行列数据显示。

2、在创建报表之前,先要分析报表的结构,选择最适合的报表模板和数据控件,以及具体的实现框架,这样才能保证报表模板的顺利创建,提高开发效率。

3、由上图可获取的报表结构信息:

4、(1) 交叉报表,由行和列共同决定显示的数据,左上角使用斜线划分。

5、(2) 行以月份分组,行数不固定,是根据月份动态生成的。

6、(3) 列是以“类别”分组,列数是不固定的,根据类别的个数动态生成的。

7、(4) 具体数据显示“销售额”。

8、(5) 在最后一行,合计全年的商品的销售额,最后一列合计每月的总销售额。

9、综上分析,采用矩表控件快速实现交叉报表。

10、(1)新建RDL 报表模板。

11、(2)添加数据源和数据集。

12、绑定数据源,选择Nwind_CHS.mdb数据库。

13、添加数据集:

14、输入SQL 语句:

15、SELECT t.*, 类别.类别名称 FROM (

16、SELECT DATEPART("yyyy",订单.订购日期) AS 订购年, DATEPART("m",订单.订购日期) AS 订购月,类别.类别ID,产品.产品名称,订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单 INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)

17、INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)

18、INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID ) as t

19、INNER JOIN 类别 ON t.类别ID = 类别.类别ID

20、ORDER BY 订购年,订购月

21、(3)添加页眉, 右键单击报表资源管理器中的“报表”节点,选择页眉。

22、在页眉区域,添加TextBox,输入报表标题“产品销售数据分析表”。

23、(4)在报表中添加矩表(Tablix )控件。

24、添加Tablix后,会发现有类似方括号的符号,表示分组,即可根据具体数据动态生成行。

25、设计器下面会有矩表分组管理器。

26、(5)绑定数据字段

27、将“订购月”直接拖拽到行分组单元格。

28、将“类别名称”直接拖拽到列分组单元格。

29、在选中的TextBox4 中可以将Value属性设为“=Sum(Fields!数量.Value *Fields!单价.Value * (1-Fields!折扣.Value))”。设置Format属性为Decimal,小数位数 2。

30、右键点击“行分组”单元格,选择“添加合计”-”分组后面”,会自动生成合计行,注意合计行,会自动根据TextBox4 的值添加Sum 表达式,因此为了避免错误,需要手动删除合计行里面的第一个Sum表达式。将

31、=Sum(Sum(Fields!数量.Value *Fields!单价.Value * (1-Fields!折扣.Value)))

32、修改为:

33、=Sum(Fields!数量.Value *Fields!单价.Value * (1-Fields!折扣.Value))

34、当然,合计不仅限于Sum表达式,任何表达式都支持,如First,AVG等。

35、右键点击“列分组”单元格,选择“添加合计”—>”分组后面”,会自动生成合计列

36、(6)添加斜线分隔线

37、拖拽Container控件到TexBox1,在Container中添加Line控件,添加两个Textbox,并输入文本“月份”,“类别”。

38、(7)添加警戒色

以上就是数据报表这篇文章的一些介绍,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!