报表,从来都是商业领域的主角,而随着商业智能(BI),大数据时代的到来,报表更加成为了业务系统的核心组成。因此传统的格式已经无法满足新的需求,最终用户期望在一张报表中看到更多的汇总、分类信息,而往往这些汇总和分类信息是不固定的,比如下面这张报表

类似上图中的复杂表头和分类汇总,用传统的报表已经无法完成。矩表(Table+ Matrix)就是专为此类报表需求而产生的强大工具,无论你是文档类报表,Excel 类报表,中国式复杂报表,不限制行数和列数的报表...都会迎刃而解!

什么是矩表(Tablix)

矩表是数据汇总统计的数据控件。矩表由矩阵(Matrix)控件演化而来,矩阵可将存储的原始Detail 数据,通过【行分组】(即垂直显示字段值)和【列分组】(即水平显示字段值),将数据二维的展示出来,然后计算每一行或列的合计;也可以将字段值作为行号或列标,在每个行列交汇处计算出各自的数量,然后计算小计和总计。如下图

传统矩阵的缺点:

  • 行分组单层次,无法支持多层级数据分析

而矩阵只能将数据通过简单的二维表展示,以及简单的求和汇总统计,但对于多层级的行分组却无法满足要求,如在垂直展示销售数据时, 我们需要先按区域汇总,区域再对应各省份的详细数据,那么这样就能够更能有助于我们分析业务数据,提高精确性,而矩阵只能创建单层级数据展示,无法进行数据分层展示;

  • 列分组上面,无法进行夸行单元格合并;

在列上面通常对应复杂表头,如跨行合并,而矩阵有很大的局限性。

  • 合计功能单一

矩阵的合计仅支持自动生成的Sum()表达式,不支持编辑统计列。而客户的需求合计方式根据业务的不同,不在只有单一的合计功能,像常用的占比,环比等复杂运算。

而矩表打破了矩阵的局限,无论是水平方向还是垂直方向展示字段数据,都支持多层级的分组嵌套,且能够自动合并相同内容项;支持复杂的表头合并,固定列和分组列的统一展示; 对于合计功能也更加灵活,不仅支持总计,而且支持分组内小计,合计的表达式可以根据自身需求来定制。

矩表是将存储的原始数据,通过内部的动态行列组织结构,将数据以分析汇总的方式呈现的数据控件。使用矩表,通过拖拽操作,不需要关心背后的实现逻辑,就能够按照您需要的方式来展示数据。

矩表可创建常用的列表类报表,行列转置报表, 履历表,复杂表头报表。不仅根据数据量可自动生成行列,而且可进行复杂的单元格合并,无论是简单的清单列表还是高级的矩阵数据,矩表都能够通过它强大的组织结构,拖拽实现。矩表可以将存储在数据库中的静态二维表(只有列头有含义的表数据),转换成具有汇总和统计的数据透视表,且这些数据均是根据表结构自动生成的,不需要手动添加每行每列。大大节省了我们大大提升了创建数据分析报表的效率。可谓任何复杂结构的,无规律可寻的报表结构,都可使用矩表控件来实现结构。

矩表特点 

  • 强大的动态行列生成

以创建销售业绩报表,会以月份来汇报销售数据,而且需要自己手动合计当月所有的销售额,有了矩表控件后,我们只需要将月份指定到单元格,矩表会自动协助我们生成所有月份的列,并自动合计当月的销售额,同样在纵向展示销售类目时,也不需要手动添加多行类目,只需要指定类目到单元格,矩表会自动生成所有类目行。

  • 任意行的单元格合并

在很多企事业单位,报表的复杂度可以说让人目瞪口呆,其中表头最为经典,常常表头由多行组成,且单元格合并忽上忽下。矩表则因为其组织结构的强大,可帮助我们轻轻松松实现跨多级行列的单元格合并。

  • 定制化的合计功能

在大数据分析过程中,对于数据分析,再也不是简单的求和,最大值,最小值,平均值这些简单的合计功能了,我们需要根据业务规定,对于满足条件的数据进行统计,求占比,同期占比等,矩表支持定制化的合计功能,不仅支持通用的合计公式,还可以根据自身需求定制表达式或编写函数。

  • 数据预警和可视化展示单元数据

矩表不仅可以显示基础数据,也可以通过数据预警或可视化工具来展示单元格数据。

  • 精巧的细致的功能点

矩表示非常专业的数据展示工具,因而细化了用户的需求,如行标题和列标题不仅可在每页重复显示,而且还可固定行头列头,当大数据量需要滚屏查看时,有了固定行头和列头的体验更加易于客户查找数据。

为什么要使用矩表?

要做大数据的统计分析,您需要矩表。

数据量过多需要实现自动归类,您需要矩表,矩表提供的动态分组功能,自动帮您合并相同内容项,进行合计。

需要制作中国特色的报表,您需要矩表,解决报表结构复杂的问题。

实例 - 使用矩表创建【产品销售数据分析表】

在设计器中添加 矩表

将订购月指定到【行分组】单元格中,将【类别名称】指定到列分组单元格中,在最下方单元格中指定合计方法:

=Sum(Sum(Fields!数量.Value *Fields!单价.Value * (1-Fields!折扣.Value))) 修改为:=Sum(Fields!数量.Value *Fields!单价.Value * (1-Fields!折扣.Value))。

最终效果

转载请注明出自:葡萄城控件