Lenka.Guo 发表于 2015-9-25 14:43:00

报表开发知识大全(13):交叉报表

本帖最后由 Lenka.Guo 于 2016-4-14 14:40 编辑


什么是交叉报表交叉报表(Cross Tabulations)可以说是一种二维分组报表,在之前的报表知识中讲到分组报表是指纵向分组,而交叉报表则是纵向和横向同时具有分组功能的二维分组报表,因此称为交叉报表。它类似于二维数组,通过行下标和列下标共同决定数值的意义。如图“产品销售数据分析”,是一个典型的动态加载的交叉报表;将原始数据在列上按照【产品类别】+【名称】分类,在行上按照【销售年】+【销售月】的方式进行交叉统计。那么我们可以通过报表获取到某一销售年某一类商品的销售情况。
交叉报表有一个明显的特征在于行数或列数是动态的,在设计时行数和列数有可能是不确定的,行数或列数在运行时根据报表数据源决定的。交叉报表通常在行列的交叉处,需要对数据进行多种汇总计算,如:求和、平均值、记数、最大值、最小值等。如上图所示,会发现在每一年都会小计各类商品的销售数据,在最后一列对全年的销售数据合计,最后一行展示的是三年内各类商品的总销售额。
交叉报表的应用交叉报表常用来展示数据的交叉汇总信息,交叉报表保证多重分组数据更易阅读和理解,同时能够很好的展示中国式复杂报表,如图在商品销售额与赠送商品金额报表中,主要展示了交叉统计报表中如何按照【多行+多列】进行统计。报表的列按照【月】进行统计,每月有【销售额】和【搭赠】两项数据,共计12个月。报表的行按照销售【区域】和【省份】进行统计,每个【区域】都有销售合计。

因此依靠交叉报表实现中国式的复杂交叉报表是很常见的。如图是很典型的中国式交叉报表,从行的角度来看,会发现【年月】列头包含两行,并且子列头包含4列【外包】。

如何通过数据控件实现交叉报表实现交叉报表最常用的数据控件就是矩阵控件,矩阵包含列和行,这些列和行可以是动态的,也可以是静态的。由于交叉报表具有明显的特征,行或列是动态生成且包含很多小计,汇总等数据计算功能,因此矩阵控件可以很好的满足交叉报表的需求,因此矩阵控件是实现交叉报表的最常用的控件。创建交叉报表包含以下几个步骤:1.添加矩阵控件2.添加数据源3.添加分组:行分组和列分组4.添加数据字段5.添加区域小计功能
具体的实现方法可参照博客:如何使用矩阵来实现交叉报表。查看交叉报表示例,请点击在线Demo演示
页: [1]
查看完整版本: 报表开发知识大全(13):交叉报表