下图是一个典型的复杂报表,该报表用于按不同分类方法统计培训学员人数,该表列上存在多个分组(培训类型、累计培训时间、参加培训总人数、培训内容、渠道类型),分组之间不存在嵌套关系的,即分组是并列的。行上存在一个按学员行政级别为依据的分组。
[img]http://www.jatools.com/image/tech/tech05.gif[/img]

复杂报表的复杂性在于结构复杂,比如上图报表列上存在多个并列分组,不仅如此,行上也可能存在多个并行分组;不仅有多个并列分组,也可能各并列分组的嵌套数不一样;不仅各个分组来源于同一个数据集,也可能来自多个不同的数据集。

尽管如此,我们仍然可以把复杂的交叉报表,看作下图所示的结构,表格包括A,B,C,D四部分,其中B,C是两个表格,决定了交叉表的结构。B表格非常特殊,第一,该表格向右生长的,而一般我们常见向下生长,如C 表格。第二,该表格有多个并列分组,而一般报表工具中,表格对象最外围只能有一个分组,尽管其嵌套数是可以多重的。
[img]http://www.jatools.com/image/tech/tech06.gif[/img]

杰表.2008以上述结构分析为基础,引入了超级表格对象,该对象就是通过嵌入两个扩展方向不同的子表格,行头表和列头表,来完成交叉报表的结构性问题。两表均可以有任意多的并列分组,每个分组可以有层次不同的嵌套。下图(a)是设计面板中的超级表格对象,下图(b)是该对象子部件的层次关系,其中对象3就是行头表,对象4就是列头表。
[img]http://www.jatools.com/image/tech/tech07.gif[/img]

杰表的超级表格对象结合杰表的DOM报表数据模型,可以演化出任意复杂的多源,多组交叉表,下面试举几例说明之。(点击进入查看)

  [url=http://www.jatools.com/tech/tech.htm] 列上并行分组交叉表 
  层次不等的交叉表 
  行列并行分组的交叉表 
  多数据集的交叉表 
  计算比去年增长数 
  计算比去年同期增长数 
  计算占比 
  显示排名 
  按照汇总值排序的交叉报表 
  交叉表折页处理 
  交叉表居中  [/url]