首先我们要了解一下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. 网站SEO更新时选择适当的时间点有什么好处?
  3. bzoj2194: 快速傅立叶之二
  4. MTK6515 android打版软件配置(DrvGen.exe 使用)
  5. js实现图片轮播效果
  6. iphone-common-codes-ccteam源代码 CCNSArray.h
  7. java.sql.preparedstatement的应用
  8. Verilog实现交通灯(数电课设)----------旧
  9. 三菱mode bus tcp通讯_微服务中的异步消息通讯和事件驱动,你了解多少?
  10. 暗黑模式开发一些心得
  11. 计算机专业课代码怎么看,专业代码怎么看?
  12. mac安装绿联USB转以太网驱动
  13. 九大知识领域与五大过程组
  14. 初中计算机vb教程视频教程,关于中学信息技术vb的教学
  15. 【javaweb】【服务器】javaweb部署到服务器显示jdbc驱动加载失败
  16. C# Reflection 反射
  17. kubernetes-dashboard v2.0.0-beta3 部署
  18. 软件测试人员常用的sql语句(四)
  19. 包含tsx的react项目创建
  20. python游戏源码——2绘画简易坦克

热门文章

  1. 苹果A6芯片被证实带有3颗图形内核
  2. 介绍 5种 绘制炫酷的地图方法
  3. 浏览器上方的工具栏不见了_「ie工具条」IE浏览器没有工具菜单栏怎么办 IE浏览器菜单栏消失不见了解决方法 - seo实验室...
  4. 《算法导论》24.3-Dijkstra(迪杰斯特拉)算法(含C++代码)
  5. 第七章:Tensorflow2.0 RNN循环神经网络实现IMDB数据集训练(理论+实践)
  6. 基于OpenCV的绿幕抠像与图像融合
  7. android微信网页视频播放器代码下载,android微信中的录音功能 demo
  8. unity 中使角色按键更灵敏。
  9. Java后端学习路线(适合科班、非科班和已工作的仔)
  10. ThinkPad X220安装Centos问题记录