首先我们要了解一下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高级编辑器,新建一个自定义列来实现此逻辑,那就极方便了。

重点函数:备注:区分大小写

  1. if表达式(“if”表达式根据逻辑条件在两个表达式之间进行选择,直接理解if a then a else b
  2. 运算符:and (和)、<>(不等于),=(等于)

首先新建自定义列

在方框内输入代码(双击字段则自动添加):

然后在对应的脚本 :

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计算)相关推荐

  1. Access根据出生日期计算年龄_不好意思,Power Query里根据出生日期计算年龄有点儿繁琐!...

    小勤:Power Query里有没有类似Excel里的Datedif函数可以用来计算年龄的啊? 大海:没有.唉-- 小勤:那怎么办呢? 大海:按照最原始的通过日期的方法来算咯,其实也不难. 小勤:那不 ...

  2. Power Query M函数_我常用的玩法

    跟据日期字段,为表格增加年. 月.日3个字段 = Table.FromRows(List.Transform(Table.ToRows(ZCESRSET_Table),each _ & [a= ...

  3. [Power Query] 添加列

    在导入外部数据源后,有时候根据数据分析的需要,需增加辅助列,便于后续数据建模使用 Power Query中添加列有添加自定义列.条件列.索引列和重复列形式 添加列操作的位置选项:[添加列] 1.自定义 ...

  4. 表头合并_多个Excel表格合并数据麻烦?试试Power Query轻松帮你解决

    Hi!大家好!欢迎来到小龙自修室! 又到了小龙分享时间!(今天的内容有点多,希望各位看官一定要看到最后!有惊喜) 上一篇文字小龙和大家一起制作了一个限定数据内容录入的电子表格,我的表格我做主! 表格做 ...

  5. 模板多个列表级联_Excel办公技巧:使用power query快速合并同一工作簿的多个工作表...

    在同一个工作簿内,如果多个工作表结构相同,也可以运用power query对这些工作表进行快速合并.源数据如果发生变动,在合并表格中刷新,即可实现数据的同步变更.下面我们来学习一下案例. 应用场景 下 ...

  6. BI神器Power Query(18)-- PQ制作时间维度表(7)

    在上一篇博客中,通过Date.ToText和Date.DayOfWeekName函数创建了新的数据列,如下图所示. 有时需要使用年月和年月日等日期格式,有两种实现方法. 利用前面已经提取的年.月.日, ...

  7. [Power BI] 认识Power Query和M语言

    数据清洗,可理解为数据整理,对从各类数据源导入的数据,通过一定的方法(如数据的增删改.转换.逆透视.合并等)进行处理,整理成符合要求的数据,然后加载到数据模型中,进行数据可视化 在Power BI中, ...

  8. EXCEL中的POWER QUERY功能简介

    点击蓝字 关注我们 一 前言 如果你在工作中或项目中需要大量使用EXCEL处理数据, 那么请务必了解一下POWER QUERY. 因为它将极大的优化你的工作: 解决一些EXCEL公式性能很差的情况 解 ...

  9. Power Query 系列 (13) - 自定义函数

    本篇博客介绍 Power Query 自定义函数的技巧,在 PQ 中计算个税. 以工资类所得应交个税为例,最新的个税起征点为 5000 并按下表的级次进行缴税(假设没有其它扣除项). 对照税率表,我们 ...

最新文章

  1. [云炬商业计划书阅读分享]
  2. java中什么泛型_【原创】java中的泛型是什么,有什么作用
  3. 用ajax技术实现无闪烁定时刷新页面
  4. Android的联通性---USB主机模式(三)
  5. 谁来理解外来工的孩子的心理健康?
  6. 程序员过关斩将--要想获取我的用户信息,就得按照规矩来
  7. 深入浅出面向对象分析与设计
  8. mfc 子窗体 按钮不触发_资深程序员用c++开发MFC银行排队叫号系统,小白看了也能学会...
  9. Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
  10. kafka消息确认机制
  11. Centos和UBUNTU之争
  12. kafka 的pom文件_Flink 消费 Kafka 数据
  13. 【CS231n_2017】1-Introduction to CNN for Visual Recognition
  14. 修改zepto源代码,使支持wp8的ie10
  15. 使用 IntraWeb (25) - 基本控件之 TIWRegion
  16. /usr/include/glib-2.0/glib/gtypes.h:32:10: fatal error: glibconfig.h: No such file or directory
  17. React中使用highcharts画玫瑰图
  18. php的tips(mysql语句union等问题)
  19. 3dsmax模型导出网页3D版gltf格式文件 #2021.6.25
  20. 小程序源码:uni-app云开发的网盘助手

热门文章

  1. 2021年第十二届蓝桥杯省赛B组C/C++部分填空题解
  2. Eclipse启动计时器插件开发
  3. QT打包后播放MP4失败
  4. PHP for循环遍历
  5. UE4 图片可见性: visible Collapsed Hidden Hit Test Invisible Self HIt Test Invisible
  6. 2023可能是最全的微前端方案调研
  7. 让一部分人先学会以太网【信号完整性测试】
  8. 测量学(二)测量点坐标制图
  9. SuperMap iobject 6R 安装与配置
  10. Linux更换yum源