Power BI中调用函数时能否返回多个列表或多列结果?
Power BI 自定义函数返回多组结果实现方法
完全可以实现,Power Query M 语言的自定义函数支持返回记录、表类型的结果,你可以直接将需要输出的多组数据封装在这类结构中即可。
针对你需要返回OrderID和OrderID+1两列的需求,这里提供两种常用实现方案:
方案1:函数返回记录类型(运行效率更高)
自定义函数代码如下:
(InputOrderID as number) as record => [ OriginalOrderID = InputOrderID, OrderIDAdd1 = InputOrderID + 1 ]
调用步骤:
- 打开输入表对应的Power Query编辑器,在顶部菜单栏选择【添加列】-【调用自定义函数】
- 函数选择你创建的上述自定义函数,参数列绑定输入表的OrderID列,确认后会新增自定义列
- 点击自定义列头的展开按钮,勾选需要输出的两个字段,确认后即可得到你需要的两列结果
方案2:函数返回表类型(适配更复杂的多行列返回场景)
如果后续需要返回多组行级结果,可以用返回表的写法:
(InputOrderID as number) as table => let Output = #table( type table [OriginalOrderID = number, OrderIDAdd1 = number], {{InputOrderID, InputOrderID + 1}} ) in Output
调用方式和记录类型一致,展开表列即可得到对应结果。
内容的提问来源于stack exchange,提问作者Mateusz P
相关产品推荐
相关产品推荐

