首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >只有一个光秃秃的函数是怎么回事?关于(x)的又一种简化写法 | PQ重难点突破

只有一个光秃秃的函数是怎么回事?关于(x)的又一种简化写法 | PQ重难点突破

作者头像
大海Power
发布于 2022-11-07 19:55:00
发布于 2022-11-07 19:55:00
7580
举报

前面的文章里,讲了each _ 的背后即为(x)=>x的变量调用的简单写法,除此之外,在Power Query里,还有一种针对(x)=>f(x)的写法大家要先了解,情况虽然比较简单,但是,这是后面深入了解复杂函数调用机制的一个重要基础。

这里举两个简单的例子进行说明。

1、转换大小写

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

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

其中,意思比较明显,即对“公众号”列的内容,调用了Text.Upper函数,从而实现了内容变成大写的格式。

这里面,我们既没有看到each _,也没有看到(x)这样的变量的使用。

实际上,这也是Power Query里的一种对函数调用的简化形式:当这项处理只需要一个函数按默认的参数直接处理时,只需写上函数名称即可。它的背后,实际上是这个样子的:

当然,大家一定要注意,并不是所有调用的函数,它的原始形式都是【(x)=>函数(x)】,具体的形式跟要调用的函数本身的参数有关系。比如下面这个替换的案例。

2、替换值

替换值的操作非常简单,例如,我们要将数据表里的“姓名”列中的“大海”,替换为“黄海剑”:

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

这里,替换的功能显然是通过Replacer.ReplaceText函数来实现的,那么,它的原始形式是怎样的呢?

刚才我们说,原始形式跟调用的函数本身的参数有关,所以,我们可以查看一下Replacer.ReplaceText这个函数的帮助:

显然,这个函数有3个参数,所以,对于替换步骤的公式,它的原始形态其实是这样的:

这两个典型的例子,很好地体现了Power Query里关于通过传递变量(x,y,z……)调用函数的又一种简化写法,虽然它的形式转化比较简单,但理解了它的基本原理后,我们接下来就可以通过还原操作步骤生成的代码形式,来进一步理解以及灵活运用变量传递和进行更加复杂的数据处理。

从这里也可以看出,对于Power Query的学习,如果对基础的界面操作比较熟练,同时,学会观察界面操作步骤生成的公式,在了解这些Power Query的函数机制后,就能逐渐实现从操作到修改公式甚至到直接编写函数(代码)的不断进阶。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档