乐于分享
好东西不私藏

EXCEL|M语言中的自定义函数2

EXCEL|M语言中的自定义函数2
接上节,自定义函数调用方式与内嵌 M 函数调用方式一致,可以在函数中输入参数直接调用,生成结果将保存在新的查询中。在下图的 “初始” 文本框中输入数字 “1”,在 “结束” 文本框中输入数字 “10”,单击 “调用” 就生成了 1 到 10 的连续数字列表。
自定义函数还可以在其他查询中调用。将刚刚生成的列表转换成表,然后单击 “添加列”→“调用自定义函数”,调用自定义函数,如下图所示。
结果如下图所示。
也可以在新建自定义列中通过函数名称调用自定义函数。新建自定义列,调用自定义函数 “加 2”,让全部数字加 2,如下图所示。
结果如下图所示。
M 函数可以直接作为其他 M 函数的参数。当函数的参数只有一个时更方便,直接将函数名称作为参数传递就可以了。无须参数时,甚至圆括号也可以省略。自定义函数同样可以。假设我们需要将销售数据表中大于 100 的产品价格都乘 0.98,可以在查询中定义和调用自定义函数实现,代码如下:
let    
折扣 = (Price) =>        
if Price > 100 then Price * 0.98
else price,
//定义名为折扣的函数
源=Excel.CurrentWorkbook(){[Name="销售数据"]}[Content],
折扣价格=Table.TransformColumns(源,{{"价格",折扣}})//直接使用函数名称调用函数
in
折扣价格
一整天出差,刚回到家。所以今天的内容也不多。
大家晚安吧。