在Power BI中除了经常使用的DAX语言外,还有一种十分常用的语言叫做M语言。M语言全称为Power Query Formula Language,是一种查询语言,适用于Excel中的Power Query,Get & Transform(Excel 2016新功能)以及Power BI桌面版中。

M语言与DAX语言在使用上有两点明显的区别:

  • 第一,M语言是一种脚本语言,与DAX这种表达式类语言在书写方面有着明显的区别。M语言更类似常用的JavaScript, PHP等,对于经常使用各种编程语言的开发者来说很容易读懂和上手。

    而DAX语言前面介绍过,是一种在SQL Server Analysis Services Tabular, Power BI以及Excel的Power Pivot中都会使用到的数据分析语言,属于表达式类语言,与Excel中的计算公式十分类似,经常使用Excel的人基本可以无障碍上手。相对于M语言,DAX语言更简单,更容易让无编程技术的人上手。

  • 第二,在Power BI中,M语言主要是用在Query Editor处,属于查询阶段使用的语言,作用是在将数据导入Power BI之前对数据进行组合,转换,筛选等工作。也就是说M语言可以实现将原始数据的Table A,导入后变成另外一个Table B,可以将Table C和TableD合并成一个TableE,或者将TableF拆分成TableG和TableH等。
    而DAX是在Power BI中创建列或者度量值时使用的语言,目的是对已经导入到Power BI中的数据进行提取,加工,筛选,整理等。DAX实际上是对数据在M语言处理过的基础上进行近一步加工。可以理解为在Power BI中对数据进行分析,第一步使用的是M语言,之后再使用的是DAX语言。

M语言虽然和DAX语言在使用方法和位置上有显著区别,但是其可实现的功能却有很多相似性,例如前面介绍过得对数据进行拆分,实际上在查询编辑器中用的拆分列工具,其背后就是调用的M语言Splitter.SplitTextByDelimiter函数来实现在查询的过程中按照间隔符对数据进行拆分。

至于何时使用M语言何时使用DAX语言分析数据?这主要取决于实际的应用场景,跟出门是打算自己开车还是坐地铁是一个道理,在很多情况下两者都可以实现同一个目标,只不过代价可能稍有不同。例如在DAX语言中要实现多数组的嵌套循环会比较麻烦,此时用M语言去实现可能就更为直观。而DAX函数提供了很多预定义的方法,类似时间等的计算公式实现起来就比M语言简单。

另外,在选择用何种语言加工数据时还要本着一个原则,即是要在数据查询阶段就开始整理过滤还是需要在数据导入后再进行分析。M语言适用于查询阶段,相当于做了一个特定的模具,将符合条件的数据导入到Power BI当中,之后这些数据才会被用来生成各种报表。通过M语言过滤掉无用数据或将特定数据合并整理,可以减轻后续Power BI在分析数据上对CPU和RAM的压力,提高效率。而DAX语言是对导入后的数据进行分析,通过DAX函数计算得到的结果可以被直接用来生成Report,并且通过添加过滤条件,DAX语言可以便捷的获取某个特定区间内的结果。它更加适用于数据分析的汇总,加成,区间计算,特定条件求值等需求。

如果想要熟练使用Power BI分析数据,DAX语言和M语言都需要去掌握。两种语言并没有好坏高低之分,更多的是从不同的场景出发使用不同的语言以便能更快捷的获取分析结果。

Power BI中使用的M语言相关推荐

  1. power bi 中计算_Power BI中的期间比较

    power bi 中计算 Just recently, I've come across a question on the LinkedIn platform, if it's possible t ...

  2. power bi 创建空表_如何使用R在Power BI中创建地理地图

    power bi 创建空表 介绍 (Introduction) This is the fifth article of a series dedicated to discovering geogr ...

  3. power bi dax_M语言和Power BI中的DAX之间的差异

    power bi dax Microsoft Power BI supports two different languages, M language and DAX (Data Analysis ...

  4. 自动从mysql下载文件到powerbi_关于在Power Query和Power BI中从网页下载文件的小提示...

    ​从网络下载数据时,通常最好是从专门为机器对机器通信而设计的API中获取数据,而不是从屏幕上实际可见的站点中获取数据.下载不仅通常更快,而且还常常获得更多非常有用的附加参数.在本文中,我将向您展示如何 ...

  5. power bi函数_在Power BI中的行上使用聚合函数

    power bi函数 Aggregate functions are one of the main building blocks in Power BI. Being used explicitl ...

  6. power bi指标呈现_在Power BI中使用关键绩效指标

    power bi指标呈现 In this article, we will learn Key Performance Indicators usage in Power BI and solve a ...

  7. power bi自定义地图_如何使用自定义形状图在Power BI中创建地理图

    power bi自定义地图 介绍 (Introduction) This is the third article of a series dedicated to discovering geogr ...

  8. power bi形状地图_如何使用内置形状图在Power BI中创建地理图

    power bi形状地图 Introduction 介绍 This is the second article of a series dedicated to discovering geograp ...

  9. power bi排序_如何在Power BI中按时间顺序对月份进行排序

    power bi排序 In this article, I'm going to demonstrate how to sort months chronologically in Power BI. ...

  10. Power BI中计算同比、环比

    财务需求中经常要求计算数据的同比.环比,下面介绍如何在Power BI 中创建用来计算同比和环比的度量值(SSAS模型中同理)... 现金表中有金额,时间(时间需要连续的年月日格式),计算同比.环比. ...

最新文章

  1. 20行Python代码实现视频字符化
  2. Docker(三):Docker 镜像使用
  3. 快速构建Windows 8风格应用6-GridView数据控件
  4. python 任务计划_windows 10 设定计划任务自动执行 python 脚本的方法
  5. php的通用变量,认识并使用PHP的全局变量
  6. 各种排序算法及其实现总结
  7. Ubuntu下Chrome浏览器不能以根用户身份运行的解决方法
  8. 步进电机只能一个方向转?
  9. Android SQLiteDatabase.query()各个参数的意义
  10. Sublime中使用livereload插件实时预览html文件
  11. Windows/Ubuntu搭建RTMP服务器+OBS推流+VLC拉流
  12. win10显示rpc服务器不可用,win10系统RpC服务器不可用的详细办法
  13. thing.js入门学习
  14. 如何查询网站dns服务器地址,如何查询DNS服务器地址 dns服务器地址查询方法详解...
  15. Server、Service和Servlet的区分
  16. python基于PHP+MySQL的学生社团管理系统
  17. 大数据处理问题及解决方法
  18. 某计算机采用lcd显示器 玩大型游戏,[1]. 液晶显示器(LCD)作为计算机的一种图文输出设备,已逐渐普及,下列关于液晶显示器的叙述中错误的是_______。...
  19. 搭建STC89C51工程模板
  20. C语言约瑟夫报数出圈算法,详解约瑟夫环问题及其相关的C语言算法实现

热门文章

  1. excel手机版_excel仓库管理手机版导出软件
  2. 计算机并口优点,并口光驱优缺点有哪些 并口光驱如何转串口
  3. 词法分析器java语言_Java语言词法分析器
  4. Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)Call Stack
  5. c# gerber文件读取_PCB加工中Gerber文件的解析及其图形绘制和分割的研究
  6. installanywhere打包过程(openproj版)
  7. [MIT 6.S081] Lab 4: traps
  8. 网络通讯协议——TCP/IP协议
  9. 数论基础(浅谈数论的部分实现)
  10. php 截取字符串的方法,php截取字符串方法有哪些