分享

导入多张数据列表创建数据透视表

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

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

Image

图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所示。

Image

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


汇总不同工作簿下的多张数据列表记录
图15-18展示了2018年某集团“华东”“东北”和“京津”3个区域的销售数据列表,这些数据列表都保存在D盘根目录下的“2018年区域销售”文件夹中。
Image
图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所示。
Image
图15-19完成后的数据透视表
Image
END
Image

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多