admin管理员组文章数量:1794759
Power Query M公式——添加自定义字段(巧用运算符、IF ELSE IF计算)
首先我们要了解一下Power Query高级编辑里面的M公式是什么?
官方定义:Microsoft Power Query 提供了包含许多功能的强大数据导入体验。 Power Query 适用于 Analysis Services、Excel 和 Power BI 工作簿。 Power Query 的核心功能是筛选和合并,即从支持的数据源的一个或多个丰富集合中混合数据。 任何此类数据混合都使用 Power Query M 公式语言来表示。 它是类似于 F# 的区分大小写的函数语言。(这块不了解的小伙伴可以理解成JS语法)。
在 Power Query M 公式语言中,函数是一组输入值到单个输出值的映射 。 要编写一个函数,首先需命名函数参数,然后提供一个表达式来计算函数的结果。 函数正文在“转到”(=>) 符号之后。 根据需要,类型信息可以包含在参数和函数返回值中。 函数在 let 语句的正文中定义和调用 。 参数和/或返回值可以是隐式或显式。 隐式参数和/或返回值属于 any 类型 。 any 类型类似于其他语言中的 object 类型 。 M 中的所有类型都派生自 any 类型 。
函数是与数字或文本值类似的值,并且可以像其他任何表达式一样通过嵌入的方式包含在内 。 以下示例演示一个函数,该函数是随后将从其他几个变量调用或执行的 Add 变量的值。 调用函数时,将指定一组值,这些值会在逻辑上替换函数正文表达式中所需的输入值集。
上面的概念看完,下面就为大家展示一个简单实用的小例子:
数据如下:
分析数据:
如上测试数据,我们需要返回像Result列一样的值。这样就需要我们对CODE1、CODE2、CODE3列进行判断。这个逻辑在DAX里面需要取出来字段的值再判断,嵌套麻烦。想这块,我们就可以使用powerquery高级编辑器,新建一个自定义列来实现此逻辑,那就极方便了。
重点函数:备注:区分大小写
首先新建自定义列
在方框内输入代码(双击字段则自动添加):
然后在对应的脚本 :
if [#"CODE1"]<>"NA" and [#"CODE2"] <>"NA" and [#"CODE3"]="NA" then "Not Existed Code3" else if [CODE1]<>"NA" and [#"CODE2"] ="NA" and [#"CODE3"]<>"NA" then "Not Existed Code2" else if [#"CODE1"]="NA" and [#"CODE2"] <>"NA" and [CODE3]<>"NA" then "Not Existed Code1" else "A=All Same"
版权声明:本文标题:Power Query M公式——添加自定义字段(巧用运算符、IF ELSE IF计算) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686490235a73365.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论