47

我已经在 Power BI 上工作了一段时间,当我浏览它的帮助主题时,我经常感到困惑。他们经常提到用作 DAX 函数或 Power Query 的函数和公式,但我无法区分这两者之间的区别。请指导我。

4

4 回答 4

87

M 和 DAX 是两种完全不同的语言。

M 用于 Power Query(在 Excel 2016 中也称为 Get & Transform)和 Power BI Desktop 的查询工具。它的功能和语法与 Excel 工作表函数有很大不同。M 是一种混搭查询语言,用于查询大量数据源。它包含转换数据的命令,并且可以将查询和转换的结果返回到 Excel 表或 Excel 或 Power BI 数据模型。

更多关于 M 的信息可以在这里找到并使用您最喜欢的搜索引擎。

DAX 代表数据分析表达式。DAX 是 Power Pivot 和 Power BI Desktop 中使用的公式语言。DAX 使用函数来处理存储在表中的数据。一些 DAX 函数与 Excel 工作表函数相同,但 DAX 具有更多函数来汇总、切片和切块复杂的数据场景。

如果您知道如何使用搜索引擎,有很多 DAX 教程和学习资源。或者从这里开始。

本质上:首先你使用 Power Query (M) 来查询数据源,清理和加载数据。然后使用 DAX 分析 Power Pivot 中的数据。最后,使用 Power BI 构建数据透视表 (Excel) 或数据可视化。

于 2016-09-22T09:23:01.633 回答
16
  • M是该过程的第一步,将数据输入模型。

(在 PowerBI 中)当您右键单击数据集并选择Edit Query时,您正在使用 M(也称为 Power Query)。在编辑窗口的标题栏中有一个提示,上面写着Power Query Editor。(但你必须知道 M 和 PowerQuery本质上是一回事)。此外(显然?)当您单击获取数据按钮时,这会为您生成 M 代码。

  • DAX用于 PowerBI 桌面的报表窗格,主要用于聚合(切片和切块)数据、添加度量等。

两种语言之间有很多交叉(例如,您可以在两者中添加列和合并表)-关于何时选择此处此处的一些讨论

于 2018-05-09T23:33:44.877 回答
9

将 Power Query / M 视为 ETL 语言,用于在 Power BI 和/或 Excel 中格式化和存储物理表。然后将 DAX 视为从源查询数据后您将使用的语言,然后您将使用它来计算总计、执行分析和执行其他功能。

  • M(Power Query):查询时转换以在提取数据时对数据进行整形
  • DAX:在提取数据后进行内存转换以分析数据
于 2018-06-18T21:40:15.410 回答
1

另一件值得一提的性能优化是您应该尽可能“修剪”您的数据集(删除行/删除列) - 数据处理序列的“上游”;这意味着此类操作在 Power Query 中比 DAX 做得更好;来自 MS 的一些进一步建议:https ://docs.microsoft.com/en-us/power-bi/power-bi-reports-performance

于 2020-02-18T17:18:36.657 回答