葡萄城控件技术团队 阅读(19) 评论(0)

欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~

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

 

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

  • 多层分组嵌套的复杂的组织结构

  • 复杂的汇总分析公式的编辑

  • 小计和总计的区分等等要面临的复杂问题

 

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

 

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

报表结构分析

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

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

 

解决方案

1. 使用矩表控件

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

3. 按照省份进行小计;

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

 

多维透视表实现

1. 新建报表模板

2. 添加数据源和数据集

3. 添加矩表控件

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

4. 添加行分组

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

 

5. 添加列分组

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

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

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

  

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

 

6. 添加“总合计”列;

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

 

7. 绑定数据字段

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

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

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

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

效果如图:

8. 添加其他字段

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

9. 添加省份合计

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

效果图:

10. 修改样式

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

效果预览

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

 

相关阅读:

【报表福利大放送】100余套报表模板免费下载

开放才能进步!Angular和Wijmo一起走过的日子

2017年前端框架、类库、工具大比拼