Excel DAX - 概述

DAX 表示 Data Aanalysis Expressions。 DAX 是一种公式语言,是函数、运算符和常量的集合,可用于公式或表达式中以计算和返回一个或多个值。 DAX 是与 Excel Power Pivot 数据模型关联的公式语言。

它不是一种编程语言,而是一种公式语言,允许用户在计算列和计算字段(也称为度量)中定义自定义计算。 DAX 可帮助您从数据模型中已有的数据创建新信息。 DAX 公式使您能够执行数据建模、数据分析,并将结果用于报告和决策制定。

DAX 包括一些在 Excel 公式中使用的函数,但具有经过修改的功能和旨在处理关系数据并执行动态聚合的附加函数。


DAX 的重要意义

DAX 的基础是数据模型,即 Excel 中的 Power Pivot 数据库。 数据模型由表格组成,可以定义表格之间的关系,以便组合来自不同来源的数据。 当源数据发生变化时,可以刷新与数据模型的数据连接。 数据模型利用 Power Pivot xVelocity 内存分析引擎 (VertiPaq),除了可容纳数千行数据外,还使数据操作尽可能快。 有关数据模型的更多信息,请参阅教程 – Power Pivot。

DAX 与数据模型相结合,可在 Excel 中启用多项强大功能 – Power Pivot、Power PivotTables、Power PivotCharts 和 Power View。 您可以使用 DAX 来解决一些基本的计算和数据分析问题。

DAX 在 Power BI 中也很有用,可以创建新的 Power BI Desktop 文件并将一些数据导入其中。 此外,DAX 公式提供的功能包括分析跨产品类别和不同日期范围的增长率、计算与市场趋势相比的同比增长率以及许多其他功能。

学习如何创建有效的 DAX 公式将帮助您充分利用数据。 当您获得所需的信息后,您就可以开始解决影响您底线的实际业务问题。 这就是 Power BI 的强大功能,DAX 将帮助您实现这一目标。


学习本教程的先决条件

本教程是 Excel Power Pivot 教程的扩展,您在其中了解了 Power Pivot 功能、数据模型、关系、Power PivotTables、Power Pivot 图表等。在深入研究 DAX 之前复习一下本教程是个好主意,因为本教程更多地介绍 DAX 语言,您可以在其中编写用于数据模型中数据分析的公式并报告这些结果。

本教程还介绍了类似于 Excel 函数的 DAX 函数,但有一些变化。 提供了 Excel 函数和 DAX 函数的比较,以帮助您区分两者。 同样,比较了Excel公式和DAX公式,讨论了相同点和不同点。 充分理解这些差异将有助于您高效地编写有效的 DAX 公式。

本教程不需要 Excel 函数和 Excel 公式的知识,因为 DAX 完全用于 Power Pivot 窗口中的数据模型。 您将进入 Excel 工作表,仅查看基于数据模型的 Power PivotTables、Power Pivot Charts 和 Power View 可视化效果。 但是,如果您是 Excel 专业人员,并且精通 Excel 函数和公式,最好记下上一节中提到的内容以及本教程中给出的详细信息。


计算列

计算列是您可以通过 DAX 公式添加到数据模型中的表的列。 您已经在 Excel Power Pivot 教程中了解了它们,但您将在"计算列"一章中详细了解,因为 DAX 是关于计算列、计算字段和 DAX 函数的。


计算字段/度量

您无法通过编辑更改数据模型中表格中的值。 但是,您可以将计算字段添加到可在 Power PivotTables 中使用的表中。 计算字段通过提供名称和定义 DAX 公式来定义。 有关详细信息,请参阅章节 - 计算字段

计算字段在 Excel 2013 之前的 Excel 版本中被命名为度量。它们在 Excel 2016 中重新命名为度量。在本教程中,我们将它们称为计算字段。 但是,请注意,术语 - 计算字段和度量 - 是同义词,在所有方面都指代相同的东西。

您可以在定义和存储计算字段后对其进行编辑。 您可以更改定义中使用的 DAX 公式,也可以重命名计算字段。 您将在"编辑计算字段"一章中了解到这一点。 您可以删除计算字段。 请参阅章节 - 删除计算字段


DAX 公式

DAX 公式构成了 DAX 语言的核心。 您可以通过使用 DAX 公式定义计算字段和计算列来创建它们。 您可以为数据分析操作编写 DAX 公式。 DAX 公式不引用表格中的单个单元格或单元格区域,而是引用数据模型中的表格和列。 数据模型中表中的列必须包含相同的数据类型。

DAX 公式包含表、列、计算列、计算字段、DAX 运算符和 DAX 函数。 请参阅章节 - DAX 公式 了解详细信息。


DAX 语法

与任何语言一样,DAX 公式语言也有语法。 您的 DAX 公式应遵循 DAX 语法,否则,您将在设计时或运行时出错,或者收到不正确的结果。

您将在本章中学习以下内容 – DAX 语法

  • DAX 对表、列的命名要求
  • DAX 运算符
  • DAX 特殊值
  • DAX 数据类型
  • DAX 隐式数据类型转换

DAX 运算符

DAX 是一种公式语言,因此在定义公式时使用运算符。 DAX 有以下类型的运算符 −

  • DAX 算术运算符
  • DAX 比较运算符
  • DAX 文本连接运算符
  • DAX 逻辑运算符

DAX 运算符优先顺序也有定义,与 Excel 运算符优先顺序不同。 请参阅章节 - DAX 运算符


DAX 标准参数

DAX 函数语法对参数有一定的要求。 这是因为 DAX 函数参数可以是表或列或计算字段或其他 DAX 函数。 请参阅章节 - DAX 标准参数


DAX函数

Excel 2013 有 246 个 DAX 函数,您可以在 DAX 公式中使用它们。 您将在"DAX 函数"一章的类别级别了解这些函数。 有关每个 DAX 函数语法、参数、用法和返回值的详细信息,您可以参考我们的教程 - DAX 函数。 用于描述每个 DAX 函数的部分名称在章节 – 了解 DAX 函数 中给出。

由于在编写 DAX 公式时需要 DAX 函数,并且所使用的 DAX 函数的结果取决于使用它们的上下文,您可能需要在这两个教程之间来回切换才能掌握 DAX,您将 使用 DAX 和 Power BI 进行数据建模。


DAX 特殊函数

DAX 有一些功能使 DAX 变得强大。 这些 DAX 函数属于类别——DAX 时间智能函数和 DAX 过滤器函数,需要特别提及。 您将在 – 了解 DAX 时间智能 一章中了解 DAX 时间智能。 您将在"DAX 过滤器函数"一章中了解 DAX 过滤器函数的用法。


DAX 评估上下文

DAX 公式的结果可能因用于评估的上下文而异。 DAX 有两种类型的评估上下文——行上下文和过滤器上下文。 请参阅章节 - DAX 评估上下文


DAX 公式

DAX 是一种公式语言,您必须在编写 DAX 公式时充分利用它。 请参阅"DAX 公式"一章,了解公式语法以及如何轻松正确地创建它们。

每当刷新数据和重新计算 DAX 公式时,DAX 公式的结果都会发生变化。 您必须了解数据刷新和重新计算之间的区别。 请参阅章节 - 更新 DAX 公式的结果

数据模型中的数据预计会不时发生变化。 这是因为数据用于在任何时间点都需要最新数据的数据分析活动。 要了解刷新数据的不同方式,请参阅章节 - 更新数据模型中的数据

您将在本章了解不同类型的 DAX 公式重新计算 - 重新计算 DAX 公式

DAX 公式重新计算必须考虑数据依赖性并遵循特定顺序。 否则,您可能会得到错误或错误的结果。 有关详细信息,请参阅章节 - DAX 公式重新计算疑难解答

在本章 - DAX 公式错误 中,您将深入了解一些常见的 DAX 公式错误,并学习如何修复这些错误 .


DAX 场景

如果您开始学习一门新语言,熟悉该语言的最佳方式是了解在何处使用什么。 同样,DAX是一种用于数据分析的公式语言,您需要了解它可以使用的各种场景。

请参阅以下章节以获取有关此的详细信息。