【Power BI】DAX语言 VS Power Query M语言

在这里插入图片描述

DAX(Data Analysis Expressions)和Power Query M语言是Microsoft Power BI和Excel中的两种强大的数据处理和分析工具。尽管它们在许多方面都有重叠之处,特别是用于数据建模和数据转换,但它们在用途、语法和功能上有显著的区别。本文将详细探讨DAX和Power Query M语言的区别。

一、定义与用途

DAX

  • DAX(Data Analysis Expressions,数据分析表达式),是一个由函数和运算符构成的库,用于数据分析和计算。
  • DAX 公式包括函数、运算符和值,用于对表格数据模型中相关表和列中的数据执行高级计算和查询。这些函数和运算服务可进行组合,在 Excel 数据模型中的 Power BI、Analysis Services 和 Power Pivot 内生成公式和表达式。

Power Query M语言

  • Power Query M语言是一种数据查询语言,用于数据提取、转换和加载(ETL)。
  • Power Query 的核心功能是筛选和合并,即从支持的数据源的一个或多个丰富集合中混合数据。 任何此类数据混合将使用 Power Query M 公式语言来表示。 M语言在Power BI、Excel和其他Microsoft数据处理工具中用于数据的预处理和转换。它允许用户从各种数据源提取数据,并对其进行清洗和整理。

二、语法与表达方式

DAX

  • DAX的语法与Excel公式类似,但更为复杂和强大。它使用函数、运算符和特定的语法结构来进行数据操作。例如:
    Total Sales = SUM(Sales[SalesAmount])
    

Power Query M语言

  • M语言的语法类似于函数式编程语言,使用let表达式和查询步骤来定义数据转换流程。

  • M语言通过一系列的步骤来逐步转换数据,这些步骤通常用在Power Query编辑器中。例如,加载一个Excel文件并筛选数据:

    letSource = Excel.Workbook(File.Contents("C:\Data\SalesData.xlsx"), null, true),SalesData = Source{[Name="SalesData"]}[Data],FilteredRows = Table.SelectRows(SalesData, each [SalesAmount] > 1000)
    inFilteredRows
    

三、使用场景

DAX

  • 主要场景:用于数据模型中的计算和分析。例如,在Power BI报表中创建动态指标和自定义聚合。
  • 常见应用:几乎是Power BI中一定会使用到的,比如创建度量值(Measures)、计算列(Calculated Columns)、时间智能函数(Time Intelligence)、聚合计算等。
  • ![[DAX  VS Power Query M-20240514154214820.webp]]

Power Query M语言

  • 主要场景:用于数据加载和预处理。例如,从不同的数据源提取数据并进行清洗和整合,确保数据在加载到模型之前已经过处理和准备。
  • 常见应用:数据提取(ETL)、数据清洗、数据合并、数据转换等。大部分功能可以直接通过工具栏操作实现,基本不需要手写M语言。
  • ![[DAX  VS Power Query M-20240514154523450.webp]]

总的来说,DAX和Power Query M语言在Power BI和Excel中的角色是互补的。DAX主要用于数据建模中的计算和分析,而M语言则用于数据预处理和转换。理解这两者的区别和各自的优势,可以帮助用户更有效地处理和分析数据,从而在数据驱动的决策中获得更好的成果。

在实际应用中,对于Power BI而言,DAX是不可避免的学习部分,M语言大部分功能已经由工具栏按键替代,除非特殊复杂的操作,一般可以略过查看M语言代码;而在Excel中,普通的操作基本不会用到这两种语言,如果有使用的需求,也不能完全照搬Power BI的方法,在不同的环境中,哪怕是实现同样的功能,DAX 和M 语言还是可能会有细微差别。

数据分析表达式 (DAX) 引用 - DAX | Microsoft Learn
Power Query M 公式语言引用 - PowerQuery M | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式单片机笔试题

DC-DC 和 LDO两者有何区别? DC-DC转换器(直流-直流转换器)和LDO(低压差线性稳压器)都是用于电源管理的设备,但它们在原理和特性上有一些显著的区别: 原理: DC-DC转换器通过改变输…

Linux 第二十七章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

下单制造fpc的工艺参数

FPC工艺简介 - 百度文库 (baidu.com) FPC工艺参数 - 豆丁网 (docin.com) FPC柔性线路板的主要参数.ppt (book118.com) 捷多邦: 华秋: 背胶: FPC板背胶是可以粘接在光滑表面的一种薄型胶带,可以在狭小以及光滑的表面上用来提供高…

互联网医院源码|禾高互联网医院系统功能和优势

互联网医院系统是一种建立在互联网基础上的医疗服务平台,其目标是通过数字化手段改善患者和医生之间的医疗互动。这一系统不仅使患者能够更轻松地获取医疗服务,而且也为医生提供了更灵活的工作方式。 1、智能导诊:提供人体模拟图,模拟门诊医生…

【学习笔记】C++每日一记[20240513]

简述静态全局变量的概念 在全局变量前加上static关键字,就定义了一个静态全局变量。通常情况下,静态全局变量的声明和定义放在源文件中,并且不能使用extern关键字将静态全局变量导出,因此静态全局变量的**作用于仅限于定义静态全…

振弦式应变计的与实际测量值不一致怎么办

在进行结构健康监测或其他工程测量时,精确性和可靠性至关重要。振弦式表面应变计是一种广泛使用的测量工具,它通过测量材料表面的应变来评估结构的应力状态。然而,在实际应用中,振弦式应变计的测量值与实际应变值之间的不一致问题…

【JavaScript】---- 使用 Tween 实现转盘抽奖

1. 实现效果 2. 需求分析 它和正常的转盘抽奖不一样,一般实现都是指针形式的,转盘转动,最后指针停留在奖品的随机位置;通过上边图发现奖品必须刚好停留在奖品的位置,因为不是指针,所以不能最后落到随机位置…

福建聚鼎:做装饰画到底能不能赚钱

在探讨做装饰画能否成为盈利的行当之前,我们必须认识到任何一门艺术或手工的价值并非仅仅取决于其直接的经济收益。艺术创作本身就是一种文化传承和个人情感表达的方式,它对创作者和社会都有着不可估量的精神价值。然而,将话题限定在经济回报…

武汉星起航跨境电商:亚马逊自发货订单处理全流程解析

在亚马逊电商平台上,自发货订单的处理是卖家日常运营中的重要环节。正确的处理流程不仅能确保交易的顺畅进行,还能提升买家满意度,进而促进销售业绩的提升。武汉星起航在这里整理了亚马逊自发货订单的处理流程,帮助卖家更好地管理…

基于ChatGPT 和 OpenAI 模型的现代生成式 AI

书籍:Modern Generative AI with ChatGPT and OpenAI Models: Leverage the capabilities of OpenAIs LLM for productivity and innovation with GPT3 and GPT4 作者:Valentina Alto 出版:Packt Publishing 书籍下载-《基于ChatGPT 和 Op…

4 局域网技术(一):局域网概述

目录 1 局域网概述1.1 局域网的特点1.2 局域网的介质访问控制方法1、具有冲突检测的载波侦听多路访问(CSMA/CD)对几个概念进行解释CSMA/CD的说明 2、令牌(Token)技术 1.3 网络适配器1、网络适配器的功能2、网卡的总类3、Ethernet网…

视频太大了?这2招轻松完成在线视频压缩

在当今数字媒体时代,视频文件的大小往往是一个让人头疼的问题。无论是拍摄的素材、编辑的成品还是下载的内容,过大的视频文件不仅占用大量存储空间,还可能影响传输速度和播放流畅度。那么,如何轻松完成在线视频压缩,减…

【网络安全产品互联互通 告警信息资产信息】相关思维导图

近日,在某客户安全建设项目中,涉及安全告警事件的梳理上报。在整理及学习中发现最近(以19年等保2.0为参考分隔“最近”)发布的可参考标准,因此做了思维导图的整理。 PS:标准中存在引用的情况,过…

数字序列比大小 - 贪心思维

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法,所以会发布自己的解题思路,希望大家多指教 一、题目描述 A,B两个人万一个数字的游戏,在游戏前…

ansible利用playbook 部署lamp架构

搭建参考:ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…

OpenAI 把超强AI带进日常,GPT-4o 让机器也懂情感!

一、前言 ⭐⭐ 立即体验:GPT-4o OpenAI 在春季发布会上推出了名为 GPT-4o 的旗舰级生成式人工智能模型,这一模型的发布不仅标志着技术的巨大飞跃,更预示着人机交互方式的全面革新。"o" 在 GPT-4o 中代表 "omni"&#xf…

使用 Express 框架构建的 Node.js web 应用程序

使用 Express 框架构建的 Node.js web 应用程序 ├── config │ └── config.js ├── middlewares │ └── errorHandler.js ├── routes │ ├── index.js │ ├── postRoutes.js │ └── userRoutes.js ├── .env ├── .gitignore ├── app.js ├…

新手必看:页面设计与网页设计的区别及应用指南

页面设计和网页设计都是创建网页的过程,但页面设计的焦点和目的与网页设计不同。页面设计往往更注重网站的视觉和交互设计,而网页设计则侧重于整个网站的架构和功能设计。本文将具体介绍页面设计与网页设计的区别,新手小看必看! …

腾讯宣布混元文生图大模型开源: Sora 同架构,可免费商用

5月14日,腾讯宣布旗下的混元文生图大模型全面升级并对外开源,目前已在 Hugging Face 平台及 Github 上发布,包含模型权重、推理代码、模型算法等完整模型,可供企业与个人开发者免费商用。 这是业内首个中文原生的DiT架构文生图开…

YOLOv8_seg训练流程-原理解析[实例分割理论篇]

本篇将介绍一下YOLOv8实例分割网络的训练流程,同样在看此篇文章之前先去看一下预测流程YOLOv8_seg预测流程-原理解析[实例分割理论篇]-CSDN博客 ,还有目标检测任务的训练流程YOLOv8训练流程-原理解析[目标检测理论篇]-CSDN博客 ,这两篇都是前置课程,下图是YOLOv8实例分割的…