改改改!一个例子举一反三,体悟(x)的真谛 | PQ重难点突破

2022-11-07 19:55:46 浏览数 (2)

回想起自己对Power Query里(x)的体悟过程,可能针对一个知识点“反复”地进行一些类似的练习,会非常有利于增加对这个知识点的理解。

因此,本次我们就拿一个例子进行改改改的练习,来体悟(x)的工作原理!

首先,我们做个简单的操作,比如对下面数据的“公众号”列的内容全部转换为大写:

此时,生成的步骤公式如下图所示:

前面的文章《关于(x)的又一种简化写法》中,我们说过,这是(x)=>Text.Upper(x)的简化写法。

现在,我们重新来认识一下这个参数的含义:Table.TransformColumns是将“公众号”这一列每行的当前值,给这个参数准备好,然后经过这个参数的加工(如这里的转换为大写Text.Upper),然后返回每个值加工后的结果。

而这个加工,是可以完全按照自己的需要进行的。

比如,我们如果要的不是将这个值转换为大写,而是小写,很简单:

同样的理解,Table.TransformColumns是将“公众号”这一列每行的当前值准备好,传递给这个参数,然后经过这个参数的加工(转换为小写Text.Lower),然后返回对值加工后的结果。

或者我们再改动大一点儿,我们只提取其中的英文内容:

再改大一点儿,不管传进来的是啥,全部返回结果“Power BI”

也就是说,虽然Table.TransformColumns函数传递了公众号的内容,但是,怎么处理,是我的事,你传给我的数据,我可以用,也可以不用,对不对?

再改一下,比如,把姓名中的“大海”替换为“黄海剑”,实际上,我们完全可以用Table.TransformColmns来实现,而不用Table.ReplaceValue替换的方法(当然,Table.ReplaceValue有它强大的地方,这个我们后面再讲):

你还可以按需要进行更加复杂的改造,只要你掌握了这个参数的本质:就是将某列每一行的当前值准备好,传递给这个参数,然后按需要进行加工,然后返回每一个值加工后的结果。至于怎么加工,你自己按需要进行——关键是你要知道传递了什么数据进来,想要加工成什么样子。

墙裂建议大家跟着文章的步骤操作,只有自己动手,才会真正触动理解,而不只是看着都懂的感觉。

0 人点赞