上一节 下一节

交叉表


11.5.1 交叉表举例:销售日报

如下图所示的地区销售汇总表是一种常见的统计报表样式。它有一个特点:右下方的矩形区域C4:G11中的每个单元格,都是同样的数据类型,都表达一个意思----某地区某产品的销售额。至于哪个单元格里的数字是哪种产品和哪个地区的销售额,则由该单元格所处的行(对应产品)和列(对应地区)决定。


C:\Users\Administrator\DOCUME~1\ADMINI~1\LOCALS~1\Temp\HyperSnapClipImage.jpg

这种样式的统计表,称为“交叉表”。

在上面的例子中,包含数据的区域是B3:G11,其最上面一行的内容表示地区,最左侧的列表示产品名称,从C4:G11的矩形区域表示销售额。定义成数据表就是:

产品名称大区销售额对应单元格
白铁皮东北8500C4
白铁皮华南40000F4
薄板东北20200C5
薄板华北150000D5
花纹钢板东北10000C6
角钢华北320000D7

11.5.2 定义交叉表

新建模板《地区销售汇总》,表样如图13-25所示。在其上定义单一数据项的表“地区销售汇总_主表”:

主键区域字段名数据类型必填填写规范其它
C2年月日期

按以下步骤操作,定义明细表:

  1. 选中区域C4:G8,右击鼠标,选择弹出菜单“定义重复数据项”。
  2. 弹出对话框,如图,单击【交叉表】,选中“数据区域可向下扩展”,其它默认值不变,按【下一步】。


3.选择“组成新数据表”,命名为“地区销售汇总_明细”,按【下一步】。

4.对话框显示如下:

5.更改字段名与数据类型,结果如下:

6.点击【下一步】,点击【完成】。

13-05.005.jpg交叉表中的数据项分三种:1)列标字段,是上方的若干行;2)行标字段,是左侧的若干列;3)数据字段,是右下方的矩形区域。其中行标字段和列标字段可以是一个或多个,但数据字段只能有一个。

11.5.3 交叉表产生的数据

针对交叉表所定义的明细数据表,其中字段分三类,一是上方标题行对应的字段,称为列标字段(因为其决定了列);二是左侧标题列对应的字段,称为行标字段(因为其决定了行);三是右下方的矩形区域对应的字段,成为数据字段。数据字段只能有一个,列标或行标字段可以有多个。在本例中,“大区”是列标字段,“产品名称”是行标字段,“销售额”是数据字段。

手工填制一张地区销售汇总,保存后,到我的工作台中查看所产生的数据,如下图所示:


由此可见,填制交叉表时,默认设置时,其数据字段对应区域内的每个单元格,都会产生一条记录。

13-05.007.jpg填报时,一张交叉表的数据字段的区域中有多少个单元格,就会产生多少条记录。

若希望工作台中,也按填报时交叉表样式显示数据,则可在模板管理数据表中设置交叉表显示方式为“按行列”。



11.5.4 用表间公式填充交叉表

下面我们来定义表间公式,完成地区销售汇总表的自动统计。

先分析一下问题。我们的目的是统计销售额。销售额的发生是源自订单,所以表间公式的来源数据应该是订单。因为要按地区分别统计销售额,所以还要确定每份订单应归属哪个大区。订单上并未直接指明地区,但指明了订货的客户,而哪个客户归属哪个大区,在“客户登记表”中可以查到的,所以为了正确地统计出各地区的销售额,需要把“订单”和“客户登记表”结合起来,需要用到表间关联。

最后定义的表间公式如下:

第一条表间公式,提取所有的产品名称,填充到交叉表的左侧,注意此表间公式的执行方式是“新建打开时”

第二条表间公式,提取指定月份的订单信息,订单表和客户登记做关联,得到的结果分别对“地区”和“产品名称”做按行列匹配,把合计的金额填充到交叉表的数据区域中。

13-05.007.jpg如果一条表间公式是用来填充交叉表数据字段的,那么在该公式的填充方式中要包含所有的列标和行标字段,并且对它们做按行列匹配。


上一节 下一节