使用多级分组报表展现分类数据

当你走进便利店,你会发现所有的商品都是按类排放的,分类排放可以帮助您快速找到同类商品,也可以快速发现你想要的商品。

当去饭店吃饭的时候,菜单上的菜也是按类别排列的,比如凉菜,热菜,汤类,主食等。点菜时你会直接翻到你想要的那一类菜单,点菜。

……

通过上面场景,大家就理解分组呈现数据的好处了,分组可以帮助快速定位,方便数据查找,汇总,分析数据趋势等。有时候分析某一单一的商品并无价值,所以采用分组是最常见也是最简单的数据分析手段。

分组报表则是在报表中使用分组功能,是工作中最常用的报表类型,分组功能可能会单独成一张报表,也可能与其他功能结合组成复杂功能报表。

在 葡萄城报表 中可以设置单级分组、嵌套分组,同时,还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。

什么是分组报表

分组报表,是所有报表中最基本、最常见的报表类型,也是所有报表工具中都支持的报表格式。从一般概念上来讲,分组报表就是只有纵向的分组。传统的分组报表制作方式是把报表划分为条带状,用户根据一个数据绑定向导指定分组,汇总字段,生成标准的分组报表。当然,我们也可以在Excel中,进行分组报表的制作;但是这样也只是在小数据量的前提下可以实施,当数据量很大很复杂时,相信使用Excel制作分组报表,就是事半功倍了。

分组报表的类型

分组报表可以分为单级分组、复杂一点的嵌套分组。单级分组是最基本的分组报表,如商品信息按类别统计。

嵌套分组即多级分组,如销售报表中包含三层嵌套分组统计,首先按照销售月份分组、然后按照产品类别分组、最后按照产品名称进行统计,并按照产品类别和销售月份进行合计运算。

无论是单级分组还是嵌套分组,分组数据都是需要载体呈现的,而表格、列表以及矩表等数据区域控件对正是进行分组操作的载体。下图是按区域的行分组和按月份的列分组的表格报表。

分组报表应用

可以说分组报表是最常见的报表类型,分组报表在商业报表系统中应用不胜枚举,如客户信息归类统计表、商品分类统计表、销售记录年度统计、阅读统计,人员分组统计等等。分组报表应用十分广泛,甚至每一个报表系统中都存在分组报表。

操作步骤:

1. 新建RDL报表

2. 连接数据源

3. 新建数据集

输入数据库查询语句:

SELECT
订单.订单ID, strftime(‘%Y‘,订单.订购日期) AS 订购年, strftime(‘%m‘,订单.订购日期) AS 订购月,
类别.类别名称, 类别.说明, 产品.产品名称, 订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单

INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)

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

INNER JOIN 类别 ON 产品.类别ID = 类别.类别ID

WHERE strftime(‘%Y‘,订单.订购日期)=‘2012‘

ORDER BY 订购年, 订购月, 类别.类别ID, 订单明细.产品ID

4. 添加表格控件,设置基本布局

4.1 添加表格控件到设计界面

4.2 添加表格1级分组

选中表格详细数据行,右键单击,选择插入分组

在表格-分组编辑器中,表达式输入:=[订购月],点击确定后,表格会生成【1】

4.2 插入表格2级分组

在表格-分组窗口中点击【+】符号,输入分组表达式 :=[类别名称]

添加完分组效果

4.3 在表格右侧添加5列

4.4 添加表头行,并合首行表头单元格,输入标题【=[订购年] & "年各月销售报表——明细页"】

4.5 在分组1 -组头行,合并单元格,并输入=[订购年] & "年"  & [订购月]  &"月"

4.6 在分组2-组头行,合并剩下单元格,并输入=[类别名称]

4.7 在详细数据区域,绑定具体的字段

4.8 在组2-尾行,输入合计:=Sum([数量] * [单价] *(1- [折扣] ))

表格样式基本设置完成.

5. 预览

转载请注明出自:葡萄城报表

关于葡萄城报表

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

时间: 2024-10-23 14:25:32

使用多级分组报表展现分类数据的相关文章

大量多级分类数据的获取、缓存、搜索查询 怎么设计最快 ?

1.数据量大2.多级分类3.首先要获取所有数据4.获取到所有数据后 有搜索功能(搜索到的数据不管几级都要获取到它的所有父级和子级 存在和搜索名称相符合的标为红色) 现在我为了开始获取全部数据和后期搜索都用一个方法 我就获取到所有分类id和其父级子集放在一起 然后比如现在不是搜索 开始是全部数据肯定很多重复的 我去重 然后通过这些id去获取所有信息 最后再循环改变搜索相符的字体颜色(和搜索公用) 最后再循环组合成树状结构数据 因为数据量大的话 老循环我感觉可能会慢 怎么优化下 搜索和初始化所有数据

报表展现部件获取数据TABLE(DataTable)

报表展现部件与网格部件一样,也是可以获取DataTable的,有一点不一样就是,报表可以绑定多个业务表,也就是有多张DataTable,那么怎么获取?代码如下:报表部件1.XtraReport1.DataSource.Tables[0] 0代码第一个,1代表第二个,如果你在报表设计的时候添加了多个业务表,那么带上下标就能获取了. 原文地址;http://bbs.delit.cn/thread-220-1-1.html 转载请注明出处; 撰写人:度量科技www.delit.cn

非常规统计报表之制作按段分组报表的新办法

报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组.可重复分组.组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源.以及需要对数据源再计算.这些报表本身具备一定的特殊性,使用常规方法往往难于实现. 对于按段分组报表,各段之间可以有重复,也就可能出现按段可重复的分组报表.集算报表在完成这类特殊统计报表时比较简单,这里通过一个实例说明实现过程. 报表说明 根据员工基本信息表按年龄统计各年龄段区间的人数.奖金等汇总情况.报表样式如下: 这里"30-40岁"和"3

润乾报表实现可重复分组报表及改进

可重复分组报表是报表开发中比较常见和麻烦的任务.可重复分组报表是指同一记录出现在不同的分组中被重复统计,常见的可重复分组报表有两类:一类是分组区间有交集,如:统计年龄段在20-30岁.25-35岁.30-40岁之间的用户数量:另外一类是分组区间有包含关系,如:统计各地区以及该地区主要城市的汇总数据,"华北,其中北京:华东,其中上海--". 下面通过两个实例来看一下润乾报表的实现过程. 实例一 根据员工基本信息表按年龄统计各年龄段区间的人数.奖金等汇总情况.报表样式如下: 这里"

可重复分组报表

可重复分组报表也在报表开发中比较常见和麻烦的任务.可重复分组报表是指同一记录出现在不同的分组中被重复统计,常见的可重复分组报表有两类:一类是分组区间有交集,如:统计年龄段在20-30岁.25-35岁.30-40岁之间的用户数量:另外一类是分组区间有包含关系,如:统计各地区以及该地区主要城市的汇总数据,"华北,其中北京:华东,其中上海--". 这类报表通过报表工具往往不易实现,即使实现也经常会伴随着报表难于开发维护.性能不高等问题. 通过集算器可以很好解决这个问题,这里通过两个例子来说明

润乾报表实现预置分组报表及改进

预置分组报表在报表开发中比较常见而且比较棘手.所谓预置分组报表是指分组没有规律,可能是分组范围没有规律,也可能分组顺序没有规律,需要报表开发人员事先预置(固定)分组的报表.常见的预置分组报表一般有如下三类:按段分组报表.固定次序分组报表.多层固定次序分组报表.下面分别看一下这几类报表的特点,以及润乾报表的实现方法. 按段分组报表 这类报表的特点是分段的区间并未在数据库中存储需要根据相应字段(如年龄.日期)计算,并且每个分段可能会发生变化(如每年节假日所在日期可能不同),经常由用户随意指定.如:统

sql的基础语句-单行函数,dual,数字函数,日期函数,表连接,集合运算,分组报表,单行子查询,多行子查询

3. 单行函数 3.1 转换函数 select ascii('A'),chr(65) from dual; select to_char(1243123),1231451 from dual;靠左边的就是字符串,靠右边的就是数字 select to_char(123512a121) from dual;   --错误的写法,没有引号表示数字,但是数字里面包含了字母,不合法的输入值 select to_number('123141211') from dual; select to_number(

ActiveReports 报表应用教程 (6)---分组报表

原文:ActiveReports 报表应用教程 (6)---分组报表 在 ActiveReports 中可以设置单级分组.嵌套分组,同时,还可以使用表格.列表以及矩阵等数据区域控件对数据源进行分组操作.分组报表在商业报表系统中应用不胜枚举,客户信息归类统计表.商品分类统计表.销售记录年度.阅读统计等等.本文将介绍如何在 ActiveReports 中实现分组报表. 1.创建报表文件 在应用程序中添加一个 ActiveReports 报表文件,使用的项目模板类型为 ActiveReports 页面

Dev GridView 获取选中分组下的所有数据行 z

现在要在DevExpress 的GridView 中实现这样一个功能.就是判断当前的选中行是否是分组行,如果是的话就要获取该分组下的所有数据信息. 如下图(当选中红框中的分组行事.程序要获取该分组下的所有数据) 实现代码如下: List<int> _gridViewRowIndexs = new List<int>(); //存储GridView 中选中的行索引 private void Test() { int[] rows = gridView1.GetSelectedRows