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

前些时间,写过一篇文章《PQ-M及函数:合并列的陷阱及动态化处理方法》,其中所用的数据均为文本,因此,合并过程中修改公式也相对简单,只要把其中生成的固定列名给改成动态提取的即可,如下图所示:

但是,随之而来的一个问题是,如果有些列是数字,那么合并的过程中也会有问题,因为内容的合并针对的是文本,那怎么办呢?

我们照样可以先用操作的方式完成步骤公式的生成:

生成步骤公式如下:

显然,其中除了生成了固定的列名之外,还加多了一个将各列转换为文本的函数,即如果本身都是文本的话,直接引用该表即可,但如果是数字,就要先进行转换为文本,然后再引用,因此,除了修改动态列名之外,我们还要实现动态的类型转换,修改代码如下:

其中红色部分为批量修改列的类型,即:

1、用List.RemoveItems去得到所有需要合并列的列名(这个同样也用于后面的动态列名中,如蓝色部分);

2、用List.Transform函数去构造给Table.TransformColumnTypes函数调用的各列对应类型的列表。

随着对Power Query学习的深入,很多看起来很长的公式其实并不是很复杂,但是,关键是要对其中的数据结构以及函数参数的调用方法比较理解,因此,建议大家多回头看看以下几个文章:

  1. 重要!很重要!非常重要!理解PQ里的数据结构(一、总体结构)

  2. 重要!很重要!非常重要!理解PQ里的数据结构(二、行列引用)

  3. 重要!很重要!非常重要!理解PQ里的数据结构(三、跨行引用)

  4. 重要!很重要!非常重要!理解PQ里的数据结构(四、根据内容定位及筛选行)

  5. 重要!很重要!非常重要!理解PQ里的数据结构(五、跨查询的表引用)

  6. Power Query轻松搞定:数据透视时的多文本合并问题(含匿名函数调用方法)


    当然,还可以来听听视频课程的讲解,可能理解起来会更加快一些。


(0)

相关推荐