- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国式复杂报表开发教程 (1)— 类 Excel
单维度交叉表
20160413 09:54
西方的报表结构 ,以呈现数据为主 ,报表结构非常有规律且清晰易懂。而中国式报表呈现的信
息量大、数据关系庞杂 ,可概括为“复杂的报表结构+大量数据呈现” ,会在单个报表中显示多层
级的数据信息。以数据交叉及合并功能为主 ,呈现大量的数据信息。
葡萄城知名报表控件ActiveReports10 提供了矩表控件 ,很好的支持了中国式复杂报表的开
发 ,只需要拖拖拽拽即可轻松实现 ,让复杂报表不再复杂。
本章就为大家讲解中国式复杂报表入门第一课 :
如何使用矩表 (Tablix )控件实现类Excel 单维度交叉表 ,即行列决定数据显示。
1. 报表结构分析
在创建报表之前 ,我们不着急实现 ,先要冷静分析报表的结构 ,选择最适合的报表模板和数据
控件 ,以及具体的实现框架 ,这样才能保证报表模板的顺利创建 ,提高开发效率。
由上图可获取信息 :
1. 交叉报表 ,由行和列共同决定显示的数据 ,左上角使用斜线划分。
2. 行以月份分组 ,行数不固定 ,是根据月份动态生成的 ;
3. 列是以“类别”分组 ,列数是不固定的 ,根据类别的个数动态生成的。
4. 具体数据显示“销售额” ;
5. 在最后一行 ,合计全年的商品的销售额 ,最后一列合计每月的总销售额。
综上分析 ,采用矩表控件快速实现交叉报表。
2. 实现报表
1.新建RDL 报表模板
2. 添加数据源和数据集
绑定数据源 ,选择Nwind_CHS.mdb数据库
添加数据集 :
输入SQL 语句 :
SELECT t.*, 类别.类别名称 FROM (
SELECT DATEPART(yyyy,订单.订购日期) AS 订购年, DATEPART(m,订单.订购日期) AS
订购月,类别.类别ID,产品.产品名称,
订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单
INNER JOIN 订单明细 ON 订单.订单ID 订单明细.订单ID)
INNER JOIN 产品 ON 订单明细.产品ID 产品.产品ID)
INNER JOIN 类别 ON 产品.类别ID 类别.类别ID ) as t
INNER JOIN 类别 ON t.类别ID 类别.类别ID
ORDER BY 订购年,订购月
3. 添加页眉 , 右键单击报表资源管理器中的“报表”节点 ,选择页眉 ;
在页眉区域 ,添加TextBox ,输入报表标题“产品销售数据分析表”
4. 在报表中添加矩表 (Tablix )控件
添加Tablix后 ,会发现有类似[ 符号 ,表示分组 ,即可根据具体数据动态生成行。会发现设计器
下面的矩表分组管理器 ;
注 :分组管理器 ,需要在VS中手动调用显示 ,调用完成之后 ,需要重启VS ,才能让矩表分组
管理器显示分组详情哟 :
选择“视图”—— 其他窗口—— 矩表分组管理器V10
5. 绑定数据字段
将“订购月”直接拖拽到行分组单元格 (一定要记得拖拽 ,拖拽 ,拖拽 )
将“类别名称”直接拖拽到列分组单元格 (一定要记得拖拽 ,拖拽 ,拖拽 )
在选中TextBox4 中可以 ,将Value属性设为“ Sum(Fields!数量.Value *Fields!单价.Value * (1
Fields!折扣.Value))” ;设置Format属性为Decimal,小数位数 2 ;
右键点击“行分组”单元格 ,选择“添加合计”—”分组后面” ,会自动生成合计行 ,注意合计行 ,
会自动根据TextBox4 的值添加Sum 表达式 ,因此为了避免错误 ,需要手动删除合计行里面的
第一个Sum表达式 ;将 Sum(Sum(Fields!数量.Value *Fields!单价.Value * (1Fields!折
扣.Value))) 修改为 :Sum(Fields!数量.Value *Fields!单价.Value * (1Fields!折扣.Value))
当然 ,合计不仅限于Sum表达式 ,任何表达式都支持 ,如First ,AVG等。
右键点击“列分组”单元格 ,选择“添加合计”—”分组后面” ,会自动生成合计列
6. 添加斜线分隔线
拖拽Container控件到TexBox1 ,在Container中添加Line控件 ,添加两个Textbox ,并输入文
本“月份” ,“类别”
效果图 :
到这里 ,交叉报表就基本的已经实现了 ,接下来需要做的就是调整样式。
7. 添加警戒色
可以看到报表模板中 ,销售额低于3000的呈
您可能关注的文档
最近下载
- 怎样选购冰箱.doc VIP
- 2025年新生儿窒息复苏考试试题(附答案).docx VIP
- 系统性红斑狼疮护理查房.ppt VIP
- 魏晋玄学课件.ppt VIP
- 2020安徽芜湖一中高一自主招生考试语文试卷真题(含答案详解).pdf VIP
- 小学科学苏教版四年级上册第三单元《常见的力》教案(共4课)(2020新版).pdf
- 2024年包头市九原区社区工作者招聘真题 .pdf VIP
- 2021年安徽芜湖一中高一自主招生考试语文试卷真题(含答案详解).pdf VIP
- 二年级数学上册 作业本提优-第三单元提优测试卷 (含答案)(苏教版).docx VIP
- 工作票签发人负责人许可人上岗资格考试题B卷答案.docx VIP
文档评论(0)