集算报表 核心模型

类Excel界面模型

集算报表开创的类Excel报表设计模型解决了传统条带式模型操作不便、难以处理横向扩展等问题,大大提高了报表设计工具的方便性、易用性,已经成为报表工具的新标准。

model_excel_1

类Excel设计界面

model_excel_2

类Excel的单元格组织机制

插入行列时的公式调整:

model_excel_3

B2中的表达式引用了C2和D3

model_excel_4

在C列前插入一列后,B2格的表达式自动调整

非线性报表模型

数据统计模型是报表工具最重要的指标,即在不编代码的情况下能够制作出何种报表,它决定了报表工具最基本的制表能力。事实上,市场上的众多传统报表产品在处理复杂报表时存在明显缺陷,大量报表仍需编写代码准备数据。集算报表开创性地提出了非线性数据统计模型,采用全新的概念和方法彻底地解决了中国复杂报表中的大部分问题。
多源关联分片
多源关联分片是中国复杂报表的基本特征。
多源是指一个报表的数据来源来自多个物理数据表(或类似数据体),甚至是多个物理数据库。这里的“多个”常常不是两个三个,而是七八个乃至十几个。
分片是指报表的纵向或横向或双向同时被分成了多个区域,每个区域规则不同,而又可能相互运算。

model_nonlinear_1

纵向分片报表

model_nonlinear_2

横向分片报表

不规则分组
不规则分组是中国复杂报表中的典型特征之一。
传统工具中的数据分组延用了关系数据库中的相应概念,为完全规则分组,即分组标准一致且有规则(一般都按某个字段或表达式),所有事实都必须出现且只出现一次,分组值次序与原数据记录次序一致。
然而在报表汇总中却常常需要不规则分组,即分组标准看不出规律(常常只能穷举),所有事实不一定全部出现在分组结果中、个别事实还可能重复出现,次序也与原数据记录无关。

model_nonlinear_3

按段不完全分组

model_nonlinear_4

重叠分组

自由格间运算
除不完全分组外,自由格间运算是中国复杂报表另一个典型特征。
所有的报表工具都会提供一些计算列的功能,在原始数据基础上再计算出一些别的列值或统计值,这是报表展现中是不可缺少的功能。

model_nonlinear_5

同比环比报表

model_nonlinear_6

动态格间运算报表

行列对称
另外,所有以上的讨论中还贯穿了一点,即行列对称。纵方向上拥有的自动复制扩展的能力需要完全实现在横方向上。报表可以横向分组、横向分片,对于横向变列的报表可以定义跨列组运算等。
集算报表天然行列对称,行方向拥有的数据扩展能力在列方向也都有,所有报表均在统一的处理模型下完成,无须专门的交叉表处理方案,在交叉表中也可以自由编写汇总表达式。中国复杂报表的各种困难在集算报表中统一在一起得到了充分的解决。

离散数据集模型

网格式代码

集算器采用直观的网格方式书写代码。

表格式的常数可整齐摆放。

直接使用单元格,无需变量命名,编辑时会自动变迁。

语句块作用范围清晰明了。

天然步骤化,复杂计算可拆成多步,中间结果自动保存。

提供for/next/break、if/else、子程序等多种程序控制逻辑。

model_dataset_17

对象式的数据表记录

集算器提供与SQL数据表兼容的序表概念,并继承了记录、字段等概念,可直接从数据库中用SQL读出数据表记录形成序表。

model_dataset_1

记录可以单独作为对象取出访问。

model_dataset_2

字段取值可以是其它序表的记录。

model_dataset_3

提供对序表数据结构的维护功能,如增加、删除字段、调整字段次序、字段改名等。

model_dataset_4

与SQL兼容的概念和操作,可以降低集算器的学习成本,同时也能方便地将集算器应用于大量数据存放在关系型数据库中的事实场景。

有序集合与位置访问

集算器提供有序集合数据类型,称为序列,支持数值序列及基本的交、并、补等集合计算,以及求和、计数、平均、最大、最小等常用聚合计算。

model_dataset_5

model_dataset_6

允许由记录构成序列,称为序表,并对序表实施交、并、补等集合计算,特别是,可以基于序表进行针对其字段的求和、计算、平均、最大、最小等聚合计算。

model_dataset_7

字段取值可以是集合,特别地,可以是序表。

model_dataset_8

提供针对序列或序表的循环计算,如排序、排名、过滤等。

model_dataset_9

所有序列(序表)均有次序,可以按位置访问其成员或其子序列。

model_dataset_10

在循环计算中提供相对引用的机制(如比上期)。

model_dataset_11

记录及记录集合引用

字段取值可以是记录,用记录引用替代传统的外键连接。
字段取值可以是序表,用序表引用处理主从表关联计算。

model_dataset_12

model_dataset_13

集合序列式分组

分组运算返回由序表构成的序列而不立即聚合出汇总结果,从而可使分组结果重复利用。

model_dataset_14

提供对位分组功能和对位序表功能替代传统的外键连接。

model_dataset_15

提供枚举分组功能方便按条件分组。
记录集合组成的序列:

model_dataset_16