首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PQ-M及函数:结合前期案例,学习自定义函数

PQ-M及函数:结合前期案例,学习自定义函数

作者头像
大海Power
发布于 2021-08-30 03:02:26
发布于 2021-08-30 03:02:26
5540
举报

小勤:《单个格式化表单转数据明细》的方法学会了,赶紧给我讲一下怎么实现批量的转换吧。

大海:不着急嘛,要实现批量的转换,需要学点儿新的知识——自定义函数。

小勤:自定义函数?就是自己写函数?

大海:对的。学会了自定义函数怎么写和怎么用,以后做一些批量的东西处理就很方便了。

小勤:好啊。

大海:首先咱们拿个简单的例子来看看,还记得拿个《模拟Excel中的Trim函数》吗?

小勤:嗯,为了实现Excel里的Trim函数对中间多个空格保留一个的情况,嵌套了好几个函数。

大海:对的,如果要经常用的话,这样每次都套n个函数就会比较麻烦,所以可以考虑写一个自定义函数。我们先来看看原来那个公式是怎样的:

小勤:嗯。这个是其中Select方法的,那如果用自定义函数怎么办?

大海:这个公式里,实际就是将“[内容]”放进来,就会转换为想要的结果,所以,如果我们把“[内容]”变成一个参数,然后按照PQ的格式给自定义函数加上名字等,那它就变成自定义函数了,具体改动如下:

1、 复制原公式到高级编辑器的let后面;

2、 增加自定义函数名称、参数格式化语句:MyTrim = (str) =>

3、 将原公式中的“[内容]”改为我们设定的参数名称str

修改后如下图所示:

这样,自定义的函数MyTrim(str)就写(改)好了,单击“已完成”后,步骤里多了MyTrim,如下:

当你单击"MyTrim"这个步骤时,会出现函数调用的窗口:

咱们先不管它,先看看怎么用。比如我们把原来用长公式的步骤删掉:

然后,重新添加自定义列,用咱们自己的函数来实现:

得到的结果是一样的,你试一下?

小勤:啊。太好了,以后再要这样用,就可以直接简单地写了。

大海:自定义函数除了能在后续的引用中用起来更加方便之外,很多时候还能实现原来函数嵌套无法实现的功能,比如一些复杂的引用和批量的数据处理等等。

小勤:嗯。咱们刚才是用一个现成的公式直接改的,如果完全自己写怎么办?

大海:首先,咱们要记住PQ里的自定义函数的基本结构:

函数名 = (参数1,参数2,…) => 函数体

小勤:嗯。这个写法也简单。那再举个小栗子?

大海:好的。比如咱们要写一个函数,用来做取一个数据表(Table)的第1行第1列(假设列名为"Column1")位置的数据,那么,就要将数据表作为参数,写法如下:

d_1_1 = (t) => t{0}[Column1]

小勤:啊,表作为参数然后可以直接按原来表行列引用的方式写?

大海:嗯。其实就是原来的公式怎么写就怎么写,将需要变为参数的地方改为你定义的参数就好了。

小勤:基本理解了。

大海:你再熟悉一下,尝试自己动手写写自定义函数,然后咱们就开始搞格式化表单的批量转换问题。

小勤:好的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PQ-M及函数:对比Excel,一次搞定5个最常用的文本函数
大海:好的,在PowerQuery里,文本类函数可能用得比数值计算函数还要多。这里我们通过和Excel里的常用文本处理函数进行对比的方式来学,可能会效果更好。
大海Power
2021/08/31
1.1K0
PQ-综合实战:格式化表单转数据明细之3:可配置的映射关系,你的数据你做主
小勤:但是有个问题啊,比如构造出来行标和列标了,但通过表里转换的列标是文本,在PQ里用跨表引用数据的方式好像不行呢。
大海Power
2021/08/30
7790
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
小勤:嗯。我刚试了一下,好简单,原来那个《单个格式表转换》里读数据的代码是这样的:
大海Power
2021/08/30
4240
PQ-M及函数:错误处理语句 try ... otherwise ...,跟Excel里的IFERROR就是一样的
大海:你这个当然会出错了。首先说啊,像这个表里,最好将这种附加的信息和日期分开,单独成一列。
大海Power
2021/08/31
2.7K0
Excel Power Query的数据处理过程
大海:好的。假设我们要用PQ完成一项任务,比如前面的每一个独立例子:二维表转一维表、分离金额、提取字符串、批量导入文本文件、修整文本内容等等,你仔细看一下,其实从大的层面上,都是3个步骤:数据选取(新建查询)→数据处理(清洗转换)→数据上传(加载)。这是每项任务都要做的事情。具体如下图所示:
大海Power
2021/08/30
7100
PQ-M及函数:文本修整(Trim)函数与Excel中的差别
大海:呵呵,这也让你碰到了。这不是显示问题,实际上,Excel里的TRIM函数和PQ里的就是有一丢丢差别的:
大海Power
2021/08/30
8300
PQ-M及函数:数值计算(聚合函数与操作)
小勤:大海,在PowerQuery里面能不能对一列数求和、算个数、求最大、最小值之类的啊?
大海Power
2021/08/31
2K0
明明写了个自定义函数,为什么调用不了?
小勤:这个“调用自定义函数”功能怎么用的?我明明写了个自定义函数(add)的哦,为什么调用不了?
大海Power
2021/08/31
7980
PQ-M及函数:如何统计一行里有多少个特定数据?
小勤:在PowerQuery里,想统计一行中有多少个某个值,该怎么统计啊?比如说,我想计算一下某个商品一个月有多少天没有库存:
大海Power
2021/08/31
1.3K0
学习LAMBDA函数:将Excel公式转换为自定义函数(下)
引言:本文学习整理自microsoft.com,LAMBDA的真正的解决了Excel公式存在的先天不足,让Excel公式真正的强大起来了。
fanjy
2023/02/16
3K0
学习LAMBDA函数:将Excel公式转换为自定义函数(下)
PQ-M及函数:为什么加了新的内容,拆分列不对了?
大海:嗯。这个直接操作的方法是有点儿问题,主要是因为,操作分列的时候,PQ会直接生成固定的列名,原来最多只要3个内容,就只生成了3列,所以以后有更多的数据时,就没有地方放了。你看原来生成的代码:
大海Power
2021/08/30
6050
批量汇总多Excel表格 | 格式化表单(如简历)数据汇总2:多表批量转换汇总
大海:有了《PQ-M及函数:结合前期案例,学习自定义函数》的基础,现在可以开始多个格式化表单数据的转换汇总了。
大海Power
2021/08/31
8380
Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法
原文在简书上发表,再同步到Excel催化剂微信公众号或其他平台上,文章后续有修改和更新将在简书上操作, 其他平台不作同步修改更新,因此建议阅读其他出处的文章时,尽可能跳转回简书平台上查看。 简书原文地址:https://www.jianshu.com/p/534803771c20
Excel催化剂
2021/08/19
1.6K0
PQ-批量汇总多Excel表格:标题都从第n行起怎么办?
标准Excel表格批量汇总过程及基础方法请参考文章:《PQ批量汇总Excel文件就是这么简单》,所有特殊情况处理都是在该基础方法之上加以适当的处理而已。
大海Power
2021/08/30
9340
学习LAMBDA函数:将Excel公式转换为自定义函数(上)
引言:本文学习整理自microsoft.com,LAMBDA的真正的解决了Excel公式存在的先天不足,让Excel公式真正的强大起来了。
fanjy
2023/02/16
1.7K0
学习LAMBDA函数:将Excel公式转换为自定义函数(上)
PQ-M及函数:模拟Excel中的Trim函数
2、对拆分后的文本List进行筛选,只保留不是空值(原文本中有空格的地方拆分出来的内容)的部分:List.Select或List.RemoveItems
大海Power
2021/08/30
1.2K0
Power Query(BI)里能一键合并所有Excel工作簿?还是别用了吧!
小勤:这是神马情况啊?“[Expression.Error] 该键与表中的任何行均不匹配”。合并文件时不时就跳这个错!
大海Power
2021/08/30
3.7K0
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
小勤:大海,公司汇总了所有应聘者的简历,但都是分散的word文件,一个人一份,有没有办法将其中的姓名、性别、手机和邮箱等信息汇总到Excel里啊?
大海Power
2021/08/30
1.4K0
PQ实战:不确定项数的数据堆在一起,只有汉字是分组标志,怎么办?
小勤:前面关于《PQ-综合实战:数据都堆在一列里,怎么办?》的文章里,每组里的项数是一样的,但像这个,如果每组的项数不一样怎么办?
大海Power
2021/08/30
3610
PQ-综合实战:品名规格规范化及多函数嵌套公式基本写法
小勤:嗯,是不是可以先通过Text.Remove分拆中文、数字和英文单位,然后将单位统一转换为小写,最后在合并在一起?
大海Power
2021/08/30
6930
推荐阅读
PQ-M及函数:对比Excel,一次搞定5个最常用的文本函数
1.1K0
PQ-综合实战:格式化表单转数据明细之3:可配置的映射关系,你的数据你做主
7790
PQ-综合实战:格式化表单转数据明细之2:多表批量转换汇总
4240
PQ-M及函数:错误处理语句 try ... otherwise ...,跟Excel里的IFERROR就是一样的
2.7K0
Excel Power Query的数据处理过程
7100
PQ-M及函数:文本修整(Trim)函数与Excel中的差别
8300
PQ-M及函数:数值计算(聚合函数与操作)
2K0
明明写了个自定义函数,为什么调用不了?
7980
PQ-M及函数:如何统计一行里有多少个特定数据?
1.3K0
学习LAMBDA函数:将Excel公式转换为自定义函数(下)
3K0
PQ-M及函数:为什么加了新的内容,拆分列不对了?
6050
批量汇总多Excel表格 | 格式化表单(如简历)数据汇总2:多表批量转换汇总
8380
Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法
1.6K0
PQ-批量汇总多Excel表格:标题都从第n行起怎么办?
9340
学习LAMBDA函数:将Excel公式转换为自定义函数(上)
1.7K0
PQ-M及函数:模拟Excel中的Trim函数
1.2K0
Power Query(BI)里能一键合并所有Excel工作簿?还是别用了吧!
3.7K0
厉害了,word哥,用PQ将word简历表格数据批量汇总到Excel,这实在是666666
1.4K0
PQ实战:不确定项数的数据堆在一起,只有汉字是分组标志,怎么办?
3610
PQ-综合实战:品名规格规范化及多函数嵌套公式基本写法
6930
相关推荐
PQ-M及函数:对比Excel,一次搞定5个最常用的文本函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档