PQ-M 及函数:动态合并列遇到数字怎么办?

前些时间,写过一篇文章《PQ-M及函数:合并列的陷阱及动态化处理方法》,其中所用的数据均为文本,因此,合并过程中修改公式也相对简单,只要把其中生成的固定列名给改成动态提取的即可,如下图所示:
file
但是,随之而来的一个问题是,如果有些列是数字,那么合并的过程中也会有问题,因为内容的合并针对的是文本,那怎么办呢?
我们照样可以先用操作的方式完成步骤公式的生成:
file
生成步骤公式如下:
file
显然,其中除了生成了固定的列名之外,还加多了一个将各列转换为文本的函数,即如果本身都是文本的话,直接引用该表即可,但如果是数字,就要先进行转换为文本,然后再引用,因此,除了修改动态列名之外,我们还要实现动态的类型转换,修改代码如下:
file
其中红色部分为批量修改列的类型,即:
1、用List.RemoveItems去得到所有需要合并列的列名(这个同样也用于后面的动态列名中,如蓝色部分);
2、用List.Transform函数去构造给Table.TransformColumnTypes函数调用的各列对应类型的列表。
随着对Power Query学习的深入,很多看起来很长的公式其实并不是很复杂,但是,关键是要对其中的数据结构以及函数参数的调用方法比较理解。


file
file

大海-Excel到PowerBI