20.9 制作复合分类项的数据透视表

对数据透视表中同一字段按不同的分类标准进行分类产生的分类项,被称为复合分类项。Excel数据透视表并不能直接产生这样的复合分类,但借助SQL语句则可以实现。

示例20.9制作具有复合分类项的员工统计表

图20-61中所示“员工数据”工作表中共有4547条数据记录,如果希望利用数据透视表,创建“透视表”工作表中的具有复合分类项的“员工分类统计表”,请参照以下步骤。

img464a

图20-61 员工数据及目标数据透视表

步 骤1img01

运用导入外部数据的方法打开【连接属性】对话框,在【定义】选项卡的【命令文本】框中输入如下SQL语句并创建数据透视表,如图20-62所示。

select职位类别,员工类别,学历层次,”学历”as分类from [员工数据$]union all select职位类别,员工类别,年龄分段,”年龄”as分类from[员工数据$]union all select职位类别,员工类别,单位,”部门”as分类from[员工数据$]

img464b

图20-62 输入SQL语句

思路解析:

(1)3次使用select语句,都引用“员工数据”工作表的“职位类别”、“员工类别”作为前两个字段,分别引用了“学历层次”、“年龄分段”、“单位”作为第3个字段,这是实现复合分类项的关键。

(2)使用“as分类from”语句,定义“分类”字段,分别添加“学历”、“年龄”、“部门”3个分类项。

(3)最后用union all将3个select语句连接起来,用于数据合并。

初步创建的数据透视表效果,如图20-63所示。

img465a

图20-63 初步创建的数据透视表

步 骤2img01

在数据透视表中,手动调整“学历层次”和“职位类别”字段的字段项顺序,并对数据透视表进行美化,最后的结果如图20-64所示。

img465b

图20-64 最终的数据透视表

本例利用SQL连接语句对同一数据源表的相关字段在同一位置上进行多次引用,从而构建出复合分类项的数据透视表。