Excel服务器2010教程
  • 1.1 Excel服务器是信息系统工具
  • 1.2 用Excel服务器构建信息系统
  • 1.3 基于Excel服务器的信息系统架构
  • 1.4 如何学习使用Excel服务器
  • 2.1 安装概述
  • 2.2 服务端安装
  • 2.3 客户端安装
  • 2.4 Excel服务器的组成模块
上一节 下一节

11.5 交叉表

11.5.1 交叉表举例:销售日报

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

HyperSnapClipImage

图 11‑25交叉表的例子

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

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

产品名称

大区

销售额

对应单元格

白铁皮

东北

8500

C4

白铁皮

华南

40000

F4

薄板

东北

20200

C5

薄板

华北

150000

D5

花纹钢板

东北

10000

C6

角钢

华北

320000

D7

11.5.2 定义交叉表

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

主键

区域

字段名

数据类型

必填

填写规范

其它

C2

年月

日期

 

 

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

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

图 11‑26定义交叉表

  1. 选择“组成新数据表”,命名为“地区销售汇总 _ 明细”,按【下一步】。
  2. 对话框显示如下:

图 11‑27定义交叉表

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

图 11‑28定义交叉表

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

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

11.5.3 交叉表产生的数据

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

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

图 11‑29

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

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

11.5.4 用表间公式填充交叉表

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

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

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

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

图 11‑30

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

图 11‑31

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

上一节 下一节