常见的二维数据透视表(交叉表)通过横向和纵向展示数据,进行一些简单的汇总运算,而传统的数据透视表功能单一,汇总方式简单,已经无法满足现代大数据量各种条件分析,因此多维透视表应运而生。


多维透视表在功能强大的同时,创建难度也会随之提高

  • 多层分组嵌套的复杂的组织结构
  • 复杂的汇总分析公式的编辑
  • 小计和总计的区分等等要面临的复杂问题


如果用代码实现,可能复杂程度不堪想象,更不用谈大数据量级别下报表加载的性能问题。而使用现有的简单报表工具,功能单一无法针对这一特征来满足复杂透视表的创建功能。


矩表控件能够满足多维透视表创建的复杂功能。本文以【商品销售额与赠送金额百分比】这一典型的多维透视表为示例,使用​​葡萄城报表​​的矩表控件,通过拖拽来实现多维透视表。

多维透视表 - 矩表实现商品销售对比统计_矩表

报表结构分析

行: 按照区域和省份,嵌套2层分组。

列:按照月份分组,动态列。


解决方案

1. 使用矩表控件

2. 添加2级行分组,首先按照区域分组,其次按照省份分组

3. 按照省份进行小计;

4. 列使用“月份”分组,分组下面嵌套三列。


多维透视表实现

1. 新建报表模板

2. 添加数据源和数据集

3. 添加矩表控件

添加矩表控件到设计界面,会发现有类似[ 符号,表示分组,即可根据具体数据动态生成行。会发现设计器下面的矩表分组管理器;

4. 添加行分组

选中,行分组单元格,右击添加行分组,选择“子分组”

多维透视表 - 矩表实现商品销售对比统计_葡萄城报表_02

5. 添加列分组

根据以上分析,列分组是根据月份而定的,因此只需要默认的一个列分组就足够了,所以不需要添加其他列分组;

添加“销售额”,“搭增”,“比例”静态列:

选中“列分组单元格”插入列,选择分组内-右侧,添加三列;

 多维透视表 - 矩表实现商品销售对比统计_数据_03

添加完成之后,插入行,选择分组内-下方;

多维透视表 - 矩表实现商品销售对比统计_多维透视表_04多维透视表 - 矩表实现商品销售对比统计_数据_05多维透视表 - 矩表实现商品销售对比统计_数据_06

6. 添加“总合计”列;

选中列分组单元格,插入列(三列),选择分组外—右侧

多维透视表 - 矩表实现商品销售对比统计_矩表_07

多维透视表 - 矩表实现商品销售对比统计_葡萄城报表_08

7. 绑定数据字段

表结构已经基本完成,接下来就是绑定数据字段;

1. 添加行分组数据,首先从报表资源管理器中选择“区域”字段,拖拽到行分组单元格;

2. 拖拽“省份”字段到 子分组单元格;

3. 拖拽“月份”字段到 列分组单元格;

效果如图:

多维透视表 - 矩表实现商品销售对比统计_多维透视表_09

8. 添加其他字段

可通过选中单元格,右上的字段logo来选择对应的数据字段:

多维透视表 - 矩表实现商品销售对比统计_矩表_10

9. 添加省份合计

选中:省份单元格,选择添加合计->分组后面;会自动添加合计行;

多维透视表 - 矩表实现商品销售对比统计_字段_11

效果图:

多维透视表 - 矩表实现商品销售对比统计_葡萄城报表_12

10. 修改样式

报表设计就完成了,接下来需要做的就是调整报表样式。

多维透视表 - 矩表实现商品销售对比统计_葡萄城报表_13

效果预览

多维透视表 - 矩表实现商品销售对比统计_矩表_14