日常工作中经常需要将多个数据表、文件合并成为一张表,将整合的数据加载到数据模型中。例如,1月份全国各个省份数据,原来是单独的一张张表格,需要将其合并再一起才能对全国数据进行全面分析。
遇到相关需求,以前很多用户需要比较复杂的编程方法完成。利用Power Query可以更加简单的实现,而且以后也何以很方便的更新数据源。在这里实现数据合并可以选择两种方式,包括“追加查询”功能和数据源深化方法。“追加查询”适合少量表格合并;“数据源深化”方法可以批量处理,更适合对一个文件中的多个工作表、一个文件夹下面的多个文件进行合并。
本文主要介绍“追加查询”和“合并查询”。
01. 追加查询
“追加查询”功能位于“主页”选项卡中,满足这个功能应用,数据源没有过多要求,几个表格中字段顺序、字段项目都可以不同,合并的数据也可以不是同一个数据源,唯一要满足的条件是:
·表头字段标题名称一致。就是指各个数据源中出现的字段标题一定要相同,甚至一个空格都不能存在。
下面加载案例文件“2.4多表数据合并.xlsx”,将其中的“产品4”、“产品5”、“产品6”的3张工作表的数据加载到查询编辑器中,然后完成后续步骤。
步骤1、加载工作表。可以将多个工作表进行复选,一次加载到查询编辑器中,见图 2‑50。
图 2‑50 加载数据表
可以看到,加载的3张表格字段顺序不同,字段项目也有差别,但是它们都有共同的字段,字段的名称保证一致,如图 2‑51所示。
图 2‑51 三张表结构差异
步骤2、在查询编辑器的“主页”选项卡中,打开“追加查询”菜单,选择“将查询追加为新查询”,见图 2‑52。这样可以不影响单独的数据查询,产生新的查询表。
图 2‑52 将查询追加为新查询
步骤3、在打开的对话窗中,选择“三个或更多表”,将“可用表”选择添加到右侧列表。因为“产品6”的字段与另外两张表的字段有区别,将其通过最右侧的上下箭头,调整到最后。合并后表的字段顺序将按照排在最前面表为准,完成设置后“确定”,见图 2‑53。
图 2‑53 追加查询设置
下面来看看完成后的追加查询,如图 2‑54。表中包含所有表中出现过的字段,其中“城市”字段,因为前两张表不包含,所以显示为“null”,这样的结果正是数据分析所需要。
图 2‑54 追加查询结果示意
完成以上操作后,你还会注意到,合并表只有一行表头,并没有将其它表头载入,这也为数据整理带来了便利。最后,修改新查询的名称,完成追加查询。
02. 合并查询
Power Query不但包括追加查询,还提供了将两张表格横向结合的“合并查询”。这项功能类似Excel中的Vlookup函数,根据数据表中的关键信息,将另一个表的相关信息合并过来,使要进行分析的数据源列字段更加完整。
加载案例文件“2.4多表数据合并.xlsx”,选择工作表“产品信息”和“类别信息”,见图 2‑67。因为在产品信息中缺少产品所属类别,所以可以利用合并查询将类别关联在一起。
图 2‑67 选择工作表
步骤1、选择刚刚加载的“产品信息”查询,在“主页”选项卡中打开“合并查询”,见图 2‑68。
图 2‑68 合并查询
步骤2、在对话窗中间位置下拉菜单中选择“类别信息”,按图 2‑69箭头选择关联的字段。
在“联接种类”中保持默认选项“左外部”,它指的是以对话窗中第一个表中出现的产品为依据,关联引用第二个表对应的类别。在类别表中包含的产品类别,可能要比产品表中出现的更多,这种联接类型,就不会显示多余的类别。读者也可以在完成后,通过修改这个查询步骤,比较一下各种联接类型的差别。
图 2‑69 选择关联字段
步骤3、将关联后的类别信息展开。点击字段标题的深化按钮,选择要合并的“主类别“字段,见图 2‑70。
图 2‑70 展开字段
这种扩展数据的操作,在后面章节中还会用数据关系模型的方式完成,而且这是Power BI应用的重点,我们还会详细介绍。
本文节选自《Power BI商务智能数据分析》,以下是Power BI动态可视化视频。
Power BI动态数据可视化