前面我们学习PQ的时候都是用鼠标操作,虽然通过这些操作能完成大部分的数据处理,但是毕竟还有些复杂的工作是处理不了的,如果想彻底驾驭PQ,必须得掌握点高级玩法。就像学习Excel一样,做个表格我们只要会简单的操作就可以了,但要想学好Excel,必须会点公式、VBA是一样的道理,PQ的高级技能也是需要写公式函数的,在PQ中用的函数称之为M函数。

在之前的PQ操作中,其实M函数无处不在,比如做数据清洗的每一个步骤,背后都有M函数的影子。打开高级编辑器,可以看到所有这些步骤的M语言。

如果我们不进行鼠标操作,直接在编辑器中编写这些语言,也是可以得到最终的结果的,有了M函数,PQ的数据处理具有很强的可读性和可移植性。

01 | 为什么要学习M函数

有些复杂的操作必须借助M函数

M函数更加灵活,简洁高效

02 | M函数基本规范

M函数对大小写敏感,每一个字母必须按函数规范书写,第一个字母都是大写

表被称为Table,每行的内容是一个Record,每列的内容是一个List

行标用大括号{ },比如取第一行的内容:=表{0} //PQ的第一行从0开始

列标用中括号[ ],比如取自定义列的内容:=表[自定义]

取第一行自定义列的内容:=表{0}[自定义]

03 | 常用的M函数

聚合函数:求和:List.Sum()

求最小值:List.Min()

求最大值:List.Max()

求平均值:List.Average()

文本函数:求文本长度:Text.Length()

去文本空格:Text.Trim()

取前n个字符:Text.Start(文本,n)

取后n个字符:Text.End(文本,n)

提取数据函数:从Excel表中提取数据:Excel.Workbook()

从Csv/Txt中提取数据:Csv.Document()

条件函数:if else then (相当于Excel中的IF)

04 | 从哪里查找M函数

新建一个空查询,在公式标记栏中输入=#shared,就把所有的M函数显示出来了,点击某个函数,最下方便出现该函数的注释:

05 | 学习建议

虽然M函数很强大,但是不建议一头扎进去学习她,毕竟对于一个之前没有接触过编程的人来说,学习成本还是挺高的,并且大部分函数并不常用。

我的建议是先能够读懂M语言,并把常用的函数,比如文本函数、字符串函数、日期函数等浏览一遍,知道大概都有什么函数,分别是哪些功能,然后在数据处理过程中碰到鼠标操作难以完成的问题,能想到有哪个M函数可以利用,直接查找和并根据注释使用、或者会修改相应的M函数即可。

如果熟练使用鼠标操作功能,又能灵活运用M函数,你将在数据处理的路上一骑绝尘、所向披靡。在大数据已经进入日常工作和生活的今天,拥有Power Query这个利器, 我们就能用最少的时间来处理数据,留下更多的时间去分析数据,去发现数据背后的规律,这才是我们学习PQ、学习PowerBI的最终目标。

Power Query学习系列:

if语句 power query_PowerQuery学习:认识M函数相关推荐

  1. python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用

    本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...

  2. power BI学习笔记-DAX函数

    DAX函数语法规范 Calculate函数 计算由指定筛选器修改的上下文中的表达式,作为表达式的结果值返回 语法:CALCULATE(<expression>,<filter1> ...

  3. POWER BI学习之EARLIER()函数

    语法:EARLIER(<column>, <number>) 函数作用:返回提及的列的外部计算传递中指定列的当前值,能够定位每个当前的单元格. 应用场景:在想要使用某个值作为输 ...

  4. PostgreSQL学习手册(五) 函数和操作符

    PostgreSQL学习手册(五) 函数和操作符 一.逻辑操作符:     常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符:     下面是Po ...

  5. MySQL学习笔记—自定义函数

    MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如 ...

  6. java用if语句调用方法_J2SE中main函数中的if语句想要调用另一个类的方法怎么能实现?...

    日常生活中,要完成一件复杂的功能,我们总是习惯把"大功能"分解为多个"小功能"以实现.在C++程序的世界里,"功能"可称呼为"函数 ...

  7. 学习Kotlin(五)函数与Lambda表达式

    推荐阅读: 学习Kotlin(一)为什么使用Kotlin 学习Kotlin(二)基本语法 学习Kotlin(三)类和接口 学习Kotlin(四)对象与泛型 学习Kotlin(五)函数与Lambda表达 ...

  8. Python语言学习:复杂函数(yield/@property)使用方法、案例应用之详细攻略

    Python语言学习:复杂函数(yield/)使用方法.案例应用之详细攻略 目录 yield 1.生成斐波那契數列 @property 其他函数 yield 带有 yield 的函数在 Python ...

  9. C++学习笔记5[函数]

    C++学习目录链接: C++学习笔记目录链接(持续更新中) 文章目录 一.函数概述 1.函数的定义 2.函数的声明 二.函数参数及其返回值 1.返回值 2.空函数 3.形参和实参 4.默认参数 5.可 ...

最新文章

  1. 来自妹子的需求:App的logo自动切图脚本
  2. Totem-DesignNet处理器插件开发方法
  3. Linux系统怎么挂载安卓手机,NFS挂载Android文件系统
  4. 解决ssh空闲一段时间后自动断开
  5. Linux 网络配置 ifconfig、ip、netstat 命令的使用
  6. 升级到NVelocity1.1版本
  7. 大象之关于对UML的一些理解
  8. C# 中的字符串内插
  9. 深入Jetty源码之HttpGenerator
  10. 计算机图形学-画太极
  11. MySQL学习笔记①_案例记录
  12. OSPF详解(六)特殊区域类型
  13. DevOps--Chef/Puppet
  14. JavaScript中DOM文档事件
  15. python读取txt文档乱码解决
  16. 测试老鸟都在用的接口抓包常用工具以及接口测试工具都有哪些?
  17. 支付宝h5网页的支付
  18. python图片旋转脚本_Python实现PS滤镜的旋转模糊功能示例
  19. ArcGIS教程:最小值和最大值条形图
  20. 计算机能力用英语介绍自己的家庭,介绍我的家庭英语作文(精选10篇)

热门文章

  1. SAP采购订单税码增强检查
  2. 男士剧烈运动后应注意
  3. IDOC实例, Inbound IDOC
  4. 苏宁大战京东,这个618消费者终于薅到了真羊毛?
  5. 文娱打卡百强,重工智造升级,互联网进入“长沙时间”
  6. agv调度matlab程序,AGV调度方法入门
  7. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...
  8. Python基础中一些高效的数据操作,可以提高你十倍工作效率
  9. Python函数中4种参数的使用
  10. python字典遍历的4种方法