原表格
对应标题转换
目标表
之前有了解到,如果要合并多个表格,前提条件就是要标题进行统一, 在上一个例子中,实现了列的顺序一一对应的情况下,通过降低标题行来使得字段名称一直,并通过添加索引来对是否是标题行进行判断,这个的前提条件是列的顺序是需要一致的,如果不一致则会导致合并错误。
Power Query对不同标题数据进行合并的技巧
那有什么办法是能够在不知道是否列的顺序是否正确的情况下依旧能够顺利合并的呢,那就是要统一标题,通过一个标题的统一对比表来进行批量更改。
(一) 思路
批量修改标题的情况,之前的文章中有过提及,但是都是需要通过手动编写M函数来进行,那有没有可以直接通过操作的方式来实现的呢?这次我们直接通过操作的方式来实现标题的一一对应的替换。
1. 通过合并查询来进行匹配。
2. 合并查询的前提是列的查找而不是标题匹配,通过转置的方式把标题改为列数据。
3. 判断是否是需要进行替换的,若不需要则直接保留原标题
(二) 操作步骤
1. 降低标题
要对标题进行转置,那首先得把标题降为数据,把标题作为第一条的数据。
2. 转置
把标题对应到列的位置,通过转置即可实现,这里可以看到原先的标题是9列,所以这里转置后只有9行数据。
3. 合并查询匹配对应需要修改的名称
通过合并查询,可以匹配到对应的新标题,如果是不在标题匹配表里的数据则返回的是空值null。
4. 通过原标题和转换后的标题进行比较得出最终的标题
这里可以使用if条件语句进行判断,如果匹配出的标题为空值,则使用原来的标题,否则使用匹配出的新标题。