- 从原始数据到分析报告:Excel数据透视表高效达人养成记
- 韩小良
- 1498字
- 2025-02-21 09:34:49
2.7 以数据库数据创建数据透视表
如果数据源是数据库数据,在大多数情况下,没有必要把数据先导入到Excel,然后再制作数据透视表,而可以直接使用相关工具来创建数据透视表,其中最方便的工具就是Query。
2.7.1 以Access数据库的一个数据表制作数据透视表
案例2-7
图2-72是一个Access数据库,文件名是“销售记录.accdb”,其有两个数据表:“2015年3月”和“2016年3月”。现在要求用数据表“2016年3月”的全部数据制作数据透视表,但不允许打开Access,也不允许把Access数据先导入到Excel。

图2-72 Access数据库的数据表“2016年3月”
01 新建一个Excel文档。
02 在任何一个工作表中,单击“数据”选项卡里的“自其他来源”下拉命令列表里的“来自Microsoft Query”命令(参见图2-48)
03 打开“选择数据源”对话框,在击“数据库”选项卡中选择“MS Access Database*”,如图2-73所示,单击“确定”按钮,打开“选择数据库”对话框,从保存有该数据库文件的文件夹里选择该文件,如图2-74所示。

图2-73 “选取数据源”对话框

图2-74 选择数据库文件
04 单击“确定”按钮后,打开“查询向导-选择列”对话框,从左边“可用的表和列”列表中分别选择数据表“2016年3月”,单击按钮,将该数据表全部字段添加到右侧的“查询结果中的列”列表中,如图2-75所示。


图2-75 选择数据表,添加到“查询结果中的列”
05 单击“下一步”按钮,打开“查询向导-筛选数据”对话框,如图2-76所示,保持默认。
06 单击“下一步”按钮,打开“查询向导-排序顺序”对话框,如图2-77所示,保持默认。
07 单击“下一步”按钮,打开“查询向导-完成”对话框,如图2-78所示,保持默认。
08 单击“完成”按钮,打开“导入数据”对话框,如图2-79所示,选择“数据透视表”和“新工作表”选项按钮。

图2-76 “查询向导-筛选数据”对话框:默认

图2-77 “查询向导-排序顺序”对话框:默认

图2-78 “查询向导-完成”对话框:默认

图2-79 设置透视表显示方式和保存位置
09 单击“确定”按钮,就创建了一个数据透视表,如图2-80所示,然后进行布局,即可得到需要的报表,如图2-81所示。

图2-80 以Access数据库数据创建的数据透视表

图2-81 以Access数据库数据制作的报表
2.7.2 以Access数据库的多个数据表制作数据透视表
上面的例子是以Access数据的一个数据表数据制作数据透视表。现在我们需要对2015年3月和2016年3月的数据进行同比分析,也就是以两个数据表“2015年3月”和“2016年3月”的数据制作数据透视表,又该如何做呢?
这个问题,仍然可以使用“现有连接+SQL语句”来解决,其基本步骤与“案例2-4”完全一样,下面进行简要的说明。
案例2-8
01 新建一个工作簿,单击“数据”选项卡中的“现有连接”命令(参见图2-38),打开“现有连接”对话框(参见图2-39)。
02 单击“现有连接”对话框左下角的“浏览更多”按钮,打开“选取数据源”对话框,然后从保存该数据库文件的文件夹里选择该数据库文件(参见图2-40)。
03 单击“打开”按钮,打开“选择表格”对话框,保持默认(参见图2-41)。
04 单击“确定”按钮,打开“导入数据”对话框,选择“数据透视表”和“新工作表”选项按钮(参见图2-42)。
05 单击“属性”按钮,打开“连接属性”对话框,切换到“定义”选项卡,然后在“命令文本”框中输入下面的SQL语句(参见图2-43)。

注意:
数据表名称要用方括号括起来,但是不能加$号,这点是与Excel不一样的。
06 单击“确定”按钮,返回到“导入数据”对话框,确认选择了“数据透视表”和“新工作表”选项按钮(参阅图2-42),然后单击“完成”按钮,就得到了以数据库的两个表格数据为基础的数据透视表,进行布局,设置相关项目,就得到两年同比分析报表,如图2-82所示。

图2-82 以Access数据库的两个数据表制作的同比分析报表
2.7.3 以Access数据库的部分数据表制作数据透视表
利用Query工具,也可以对数据库的部分数据制作数据透视表,具体方法和步骤与前面介绍的“案例2-6”完全一样,感兴趣的读者可以自行练习。