20.9 制作复合分类项的数据透视表
对数据透视表中同一字段按不同的分类标准进行分类产生的分类项,被称为复合分类项。Excel数据透视表并不能直接产生这样的复合分类,但借助SQL语句则可以实现。
图20-61中所示“员工数据”工作表中共有4547条数据记录,如果希望利用数据透视表,创建“透视表”工作表中的具有复合分类项的“员工分类统计表”,请参照以下步骤。
图20-61 员工数据及目标数据透视表
步 骤1
运用导入外部数据的方法打开【连接属性】对话框,在【定义】选项卡的【命令文本】框中输入如下SQL语句并创建数据透视表,如图20-62所示。
select职位类别,员工类别,学历层次,”学历”as分类from [员工数据$]union all select职位类别,员工类别,年龄分段,”年龄”as分类from[员工数据$]union all select职位类别,员工类别,单位,”部门”as分类from[员工数据$]
图20-62 输入SQL语句
思路解析:
(1)3次使用select语句,都引用“员工数据”工作表的“职位类别”、“员工类别”作为前两个字段,分别引用了“学历层次”、“年龄分段”、“单位”作为第3个字段,这是实现复合分类项的关键。
(2)使用“as分类from”语句,定义“分类”字段,分别添加“学历”、“年龄”、“部门”3个分类项。
(3)最后用union all将3个select语句连接起来,用于数据合并。
初步创建的数据透视表效果,如图20-63所示。
图20-63 初步创建的数据透视表
步 骤2
在数据透视表中,手动调整“学历层次”和“职位类别”字段的字段项顺序,并对数据透视表进行美化,最后的结果如图20-64所示。
图20-64 最终的数据透视表
本例利用SQL连接语句对同一数据源表的相关字段在同一位置上进行多次引用,从而构建出复合分类项的数据透视表。