如何在相同数据源创建透视表(导入多张数据列表创建数据透视表)

运用导入外部数据结合“编辑OLEDB”查询中的SQL语句技术,可以轻而易举地对不同工作表,甚至不同工作簿中结构相同的多张数据列表进行合并汇总并创建动态的数据透视表,而不会出现多重合并计算数据区域创建数据透视表时只会选择第一行作为行字段的限制。

汇总同一工作簿下的多张数据列表记录

图15-16展示了某公司的“一仓”“二仓”和“三仓”3张数据列表,这些数据列表都存放在D盘根目录下的“仓库入库表.xlsx”文件中。

如何在相同数据源创建透视表(导入多张数据列表创建数据透视表)(1)

图15-16仓库入库数据列表

示例:仓库入库表

下面将对图15-16中的3张仓库数据列表进行汇总分析,具体操作步骤如下。步骤1打开D盘根目录下的“仓库入库表.xlsx”文件,单击“汇总”工作表标签。

步骤2重复操作示例15.1的步骤1和步骤2,选取目标文件“仓库入库表.xlsx”,弹出【选择表格】对话框。

步骤3清空【命令文本】文本框中的内容,输入以下SQL语句:

SELECT'一仓库'AS仓库名称,*FROM[一仓$]UNIONALL

SELECT'二仓库',*FROM[二仓$]UNIONALL

SELECT'三仓库',*FROM[三仓$]

此语句的含义:

SQL语句第一部分“SELECT"一仓库"AS仓库名称,*FROM[一仓$]”表示返回“一仓库”数据列表的所有数据记录,“一仓库”作为插入的常量来标记不同的记录,然后对这个插入常量构成的字段利用AS别名标识符进行重命名字段名称,最后通过UNIONALL将每个仓库的所有记录整合在一起,相当于将“一仓”“二仓”和“三仓”3张工作表粘贴到一起。

由于UNIONALL只以第一段的字段标题为基准,因此后面的AS别名可省略。Excel使用SQL语句在当前工作簿中引用本身的工作表时的引用规则如下。Excel工作表中引用时需要将其包含在方括号“[]”内,同时需要在其工作表名称后面加上“$”符号,如SELECT*FROM[一仓$]。

如果引用工作表中的部分区域,则可以在“$”符号后面添加区域限定。例如,下面的语句表示引用“一仓”的“A1:E448”区域。

SELECT*FROM[一仓$A1:E448]

步骤4完成数据透视表的创建、布局和美化后如图15-17所示。

如何在相同数据源创建透视表(导入多张数据列表创建数据透视表)(2)

图15-17汇总后的数据透视表

汇总不同工作簿下的多张数据列表记录

图15-18展示了2018年某集团“华东”“东北”和“京津”3个区域的销售数据列表,这些数据列表都保存在D盘根目录下的“2018年区域销售”文件夹中。

如何在相同数据源创建透视表(导入多张数据列表创建数据透视表)(3)

图15-18区域销售数据列表

示例:编制各区域销售统计动态数据列表

步骤1打开D盘根目录下的“2018年区域销售”文件夹中的“汇总.xlsx”工作簿,单击“汇总”工作表标签。

步骤2重复操作示例15.1的步骤1和2,选取D盘根目录下“2018年区域销售”文件夹下的目标文件“汇总.xlsx”,弹出【选择表格】对话框,单击【确定】按钮,打开【连接属性】对话框。

步骤3清空【命令文本】文本框中的内容,输入以下SQL语句。

SELECT'东北'AS区域,*FROM[D:\2018年区域销售\东北地区.xlsx].[东北$]UNIONALL

SELECT'华东'AS区域,*FROM[D:\2018年区域销售\华东地区.xlsx].[华东$]UNIONALLS

ELECT'京津'AS区域,*FROM[D:\2018年区域销售\京津地区.xlsx].[京津$]

提示:Excel使用SQL语句在当前工作簿中引用其他工作簿中的工作表时的引用规则如下。需要在工作表名称前面加上文件名称限定,文件名包含在方括号内,文件名与工作表之间使用“.”分隔。例如,下面语句表示引用“D:\2018年区域销售\东北地区.xlsx”工作簿的“东北”工作表。SELECT*FROM[D:\2018年区域销售\东北地区.xlsx].[东北$]

步骤4完成数据透视表的创建、布局和美化后如图15-19所示。

如何在相同数据源创建透视表(导入多张数据列表创建数据透视表)(4)

图15-19完成后的数据透视表

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页