Excel Dax 简明教程

Excel DAX - Functions

大多数 DAX functions 具有与 Excel 函数相同名称和功能。但是,已修改 DAX 函数,以使用 DAX 数据类型,并使用表和列。

DAX 有一些附加函数,这些函数在 Excel 中找不到。这些 DAX 函数用于特定目的,例如基于与数据模型的关系数据库方面相关的关系查找,对表进行迭代以执行递归计算,执行动态聚合,以及利用时间智能执行计算。

在本章中,您将了解 DAX 语言中支持的函数。有关这些 DAX 函数的用法,请参阅本教程库中的教程 - DAX 函数。

What is a DAX Function?

DAX 函数是 DAX 语言中提供的内置函数,使您能够对数据模型中的表中的数据执行各种操作。如前所述,DAX 用于数据分析和商业智能目的,这些目的需要支持从数据中提取、吸收和得出见解。基于数据模型的 DAX 函数为您提供了这些实用工具,一旦您掌握了 DAX 语言和使用 DAX 函数,它将使您的工作更简单。

Excel Functions vs. DAX Functions

您所熟悉的 Excel 函数与 DAX 函数之间存在某些相似之处。但是,也存在某些差异。您需要了解这些差异,以便在使用 DAX 函数和编写包括 DAX 函数的 DAX 公式时避免出错。

Similarities between Excel Functions and DAX Functions

  1. 许多 DAX 函数具有与 Excel 函数相同的名称和相同的一般行为。

  2. DAX 具有类似于 Excel 中数组和矢量查找函数的查找函数。

Differences between Excel Functions and DAX Functions

  1. DAX 函数经过修改以接受不同类型的输入,并且某些 DAX 函数可能会返回不同的数据类型。因此,你需要单独理解这些函数的用法,尽管它们具有相同的名称。在本教程中,你会发现每个 DAX 函数都带有 DAX 前缀,以避免与 Excel 函数混淆。

  2. 你不能在没有必需修改的情况下在 Excel 公式中使用 DAX 函数或在 DAX 中使用 Excel 公式/函数。

  3. Excel 函数采用单元格引用或单元格区域范围作为引用。DAX 函数从不采用单元格引用或单元格区域范围作为引用,而是采用列或表作为引用。

  4. Excel 日期和时间函数返回一个整数,表示一个日期作为一个序列号。DAX 日期和时间函数返回一个在 DAX 中但不在 Excel 中的数据类型 datetime。

  5. Excel 没有返回表格的函数,但某些函数可以处理数组。许多 DAX 函数都可以轻松引用完整的表格和列来执行计算并返回一个表格或一列值。DAX 的这种能力为 Power Pivot、Power View 和使用 DAX 的 Power BI 增加了功能。

  6. DAX 查找函数要求在表之间建立关系。

  7. Excel 在一列数据中支持变体数据类型,即,你可以在一列中拥有不同数据类型的数据。而 DAX 期望表一列中的数据始终为相同的数据类型。如果数据不是相同的数据类型,DAX 将整列更改为最能容纳列中所有值的的数据类型。但是,如果数据被导入并且出现此问题,DAX 会标记为错误。

要了解 DAX 数据类型和数据类型转换,请参阅该章节 – DAX 语法参考。

Types of DAX Functions

DAX 支持以下类型的函数。

  1. DAX 表值函数 DAX 筛选器函数 DAX 聚合函数 DAX 时间智能函数

  2. DAX 日期和时间函数

  3. DAX Information Functions

  4. DAX Logical Functions

  5. DAX 数学和三角函数

  6. DAX Other Functions

  7. DAX 父子函数

  8. DAX Statistical Functions

  9. DAX Text Functions

在本节中,你将了解函数类别级别的 DAX 函数。有关 DAX 函数语法以及 DAX 函数返回和执行内容的详细信息,请参阅本教程库中的 DAX 函数教程。

DAX 时间智能函数和 DAX 筛选器函数功能强大,需要专门提及。有关详细信息,请参阅章节 - 了解 DAX 时间智能和 DAX 筛选器函数。

DAX Table Valued Functions

许多 DAX 函数将表作为输入或输出表或两者兼而有之。这些 DAX 函数称为 DAX 表值函数。由于表可以具有单列,因此 DAX 表值函数也采用单列作为输入。你具有以下类型的 DAX 表值函数 -

  1. DAX Aggregation functions

  2. DAX Filter functions

  3. DAX Time intelligence functions

了解 DAX 表值函数可帮助你有效地编写 DAX 公式。

DAX Aggregation Functions

DAX 聚合函数汇总表各行中的任何表达式,并且在计算中很有用。

以下是一些 DAX 聚合函数 -

DAX Filter Functions

DAX 筛选器函数返回与当前行相关的列、表或值。你可以使用 DAX 筛选器函数返回特定数据类型,查找相关表中的值,以及按相关值筛选。DAX 查找函数通过使用表及其之间的关系来工作。DAX 筛选器函数使你能够操作数据上下文以创建动态计算。

以下是某些 DAX 筛选器函数 -

DAX Time Intelligence Functions

DAX 时间智能函数返回日期表或使用日期表来计算聚合。这些 DAX 函数可帮助你创建支持商业智能分析需求的计算,使你能够使用时间段(包括天、月、季度和年)来操作数据。

以下是某些 DAX 时间智能函数 -

DAX Date and Time Functions

DAX 日期和时间函数与 Excel 日期和时间函数类似。但是,DAX 日期和时间函数基于 DAX 的 datetime 数据类型。

以下是 DAX 日期和时间函数 -

DAX Information Functions

DAX 信息函数查看以参数形式提供的单元格或行,并告知您该值是否与预期类型匹配。

以下是某些 DAX 信息函数 -

DAX Logical Functions

DAX 逻辑函数返回表达式中值的信息。例如,DAX TRUE 函数让您知道正在计算的表达式是否返回 TRUE 值。

以下一些 DAX 逻辑函数 −

DAX Math and Trig Functions

DAX 数学和三角函数与 Excel 的数学和三角函数非常相似。

以下是一些 DAX 数学和三角函数 −

DAX Other Functions

这些 DAX 函数执行的独特操作无法由其他大多数函数所属的任何类别定义。

以下是一些 DAX 其他函数 −

DAX Parent and Child Functions

DAX 父子函数用于管理以数据模型中父子层次结构呈现的数据。

以下是一些 DAX 父母函数 −

DAX Statistical Functions

DAX 统计函数与 Excel 统计函数非常相似。

以下是一些 DAX 统计函数 −

DAX Text Functions

DAX 文本函数适用于表和列。利用 DAX 文本函数,您可以返回字符串の一部、在字符串中查找文本或者串联字符串值。还可以控制日期、时间和数字的格式。

以下是一些 DAX 文本函数 −