DAX 函数 – 快速指南

DAX 函数 – 快速指南


DAX 函数 – 简介

DAX代表d ATAnalysisé X pressions。DAX 是一种公式语言,是一组函数、运算符和常量,可用于公式或表达式中以计算和返回一个或多个值。DAX 是与 Microsoft Excel Power Pivot 的数据模型和 Microsoft Power BI 相关联的公式语言。

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

要深入了解 DAX,请参阅本教程库中的教程 – DAX。

什么是 DAX 函数?

DAX 函数是 DAX 语言中提供的内置函数,使您能够对数据模型中的表中的数据执行各种操作。

DAX 函数使您能够对数据模型执行常用的数据计算。一些 DAX 函数与 Excel 函数具有相同的名称和功能,但已被修改为使用 DAX 数据类型并使用表和列,如下一节中突出显示的。DAX 具有额外的功能,旨在处理关系数据并执行动态聚合。

DAX 函数在使用 DAX 进行数据建模和报告方面发挥着重要作用。

Excel 函数与 DAX 函数

Excel 函数和 DAX 函数之间有一定的相似之处,也有一定的区别。以下是 Excel 函数和 DAX 函数之间的异同 –

Excel 函数和 DAX 函数之间的相似之处

  • 某些 DAX 函数与 Excel 函数具有相同的名称和相同的一般行为。

  • DAX 具有类似于 Excel 中的数组和向量查找函数的查找函数。

Excel 函数和 DAX 函数之间的差异

  • DAX 函数已被修改为采用不同类型的输入,并且某些 DAX 函数可能返回不同的数据类型。因此,尽管它们具有相同的名称,但您需要分别了解它们的用法。

  • 如果没有必要的修改,您将无法在 Excel 公式中使用 DAX 函数或在 DAX 公式中使用 Excel 函数。

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

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

  • Excel 没有返回表的函数,但有些函数可以处理数组。许多 DAX 函数可以轻松引用完整的表和列来执行计算并返回一个表或一列值。DAX 的这种能力为使用 DAX 的 Power Pivot、Power View 和 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 聚合函数
  • 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 逻辑函数

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

有关详细信息,请参阅 – DAX 逻辑函数一章

DAX 数学和三角函数

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

有关详细信息,请参阅 – DAX 数学和三角函数一章

DAX 父子函数

DAX 父子函数可用于管理在数据模型中显示为父/子层次结构的数据。

有关详细信息,请参阅 – DAX 父子函数一章

DAX 统计函数

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

有关详细信息,请参阅 – DAX 统计函数一章

DAX 文本函数

DAX 文本函数适用于表和列。使用 DAX 文本函数,您可以返回字符串的一部分、搜索字符串中的文本或连接字符串值。您还可以控制日期、时间和数字的格式。

有关详细信息,请参阅 – DAX 文本函数一章

DAX 其他功能

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

详情请参阅 – DAX 其他功能一章

DAX 函数描述结构

如果必须在 DAX 公式中使用 DAX 函数,则需要详细了解该函数。您应该知道函数的语法、参数类型、函数返回的内容等。

在本教程中,所有 DAX 函数都使用了一个通用的函数描述结构,以便您可以有效地阅读和解释 DAX 函数。

有关详细信息,请参阅 – DAX 函数描述结构一章

DAX 参数命名约定

DAX 具有标准参数名称,以方便 DAX 函数的使用和理解。此外,您可以对参数名称使用某些前缀。如果前缀足够清楚,您可以使用前缀本身作为参数名称。

要了解 DAX 函数的语法并为相关的 DAX 函数参数适当地使用数据值,您需要了解 DAX 参数命名约定。

参数名称

以下是 DAX 标准参数名称 –

Sr.No. 参数名称和说明
1

expression

任何返回单个标量值的 DAX 表达式,其中表达式将被计算多次(对于每一行/上下文)。

2

value

任何返回单个标量值的 DAX 表达式,其中该表达式在所有其他操作之前只计算一次。

3

table

任何返回数据表的 DAX 表达式。

4

tableName

使用标准 DAX 语法的现有表的名称。它不能是一个表达式。

5

columnName

使用标准 DAX 语法的现有列的​​名称,通常是完全限定的。它不能是一个表达式。

6

name

将用于提供新对象名称的字符串常量。

7

order

用于确定排序顺序的枚举。

8

ties

用于确定绑定值处理的枚举。

9

type

用于确定 PathItem 和 PathItemReverse 的数据类型的枚举。

前缀参数名称或仅使用前缀

您可以使用前缀限定参数名称 –

  • 前缀应该描述如何使用参数。

  • 前缀应该避免对参数的歧义读取。

例如,

  • Result_ColumnName – 指用于在 DAX LOOKUPVALUE () 函数中获取结果值的现有列。

  • Search_ColumnName – 指用于在 DAX LOOKUPVALUE () 函数中搜索值的现有列。

如果前缀足以描述参数,您可以省略参数名称并仅使用前缀。省略参数名称并仅使用前缀有时有助于避免阅读过程中的混乱。

例如,考虑DATE (Year_value, Month_value, Day_value)您可以省略参数名称 – 值,即重复三次并将其写为 DATE(年、月、日)。正如所见,通过仅使用前缀,该函数更具可读性。但是,有时为了清楚起见,必须存在参数名称和前缀。

例如,考虑Year_columnName参数名称为 ColumnName,前缀为 Year。两者都需要让用户了解该参数需要引用现有的年份列。

DAX 函数 – 描述结构

如果必须在 DAX 公式中使用 DAX 函数,则需要详细了解该函数。您应该知道函数的语法、参数类型、函数返回的内容等。

为了让您了解如何阅读和解释 DAX 函数,本教程中使用了统一的函数描述结构。

  • 不同类型的 DAX 函数按 DAX 函数的类型名称分组为章节。

  • 这些章节中的每一章都简要描述了相应类型的 DAX 函数的效用。

  • 简要说明之后将是与该章节对应的 DAX 函数列表(DAX 函数的类型/类别)。

  • 每个 DAX 函数名称都超链接到具有以下 DAX 函数描述结构的 DAX 函数详细信息 –

    • 描述
    • 句法
    • 参数
    • 返回值
    • 评论
    • 例子

以下部分解释了每个 DAX 函数说明中出现的每个标题。

描述

在描述部分,您将了解 DAX 函数的含义以及可以使用的位置。

如果在 Excel 2016 中引入了 DAX 函数,这里也会提到。(其余 DAX 函数存在于 Excel 2013 中。)

句法

在语法部分,您将了解确切的函数名称和相应的参数。

  • DAX 函数名称以大写字母给出。

  • DAX 函数名称后跟左括号。

  • 每个参数都遵循标准 DAX 参数命名约定,并用尖括号括起来。

  • 如果参数是可选的,则将其进一步括在方括号中。

  • 参数用逗号分隔。

  • 省略号 … 用于显示可选的参数重复次数。

  • 函数语法以右括号结束。

例子

句法

参数

在参数部分,特定 DAX 函数的每个参数都列在一个表格中,并附有说明。比如上面例子DAX函数SELECTCOLUMNS的参数如下表所示。

Sr.No. 参数及说明
1

Table

表或返回表的 DAX 表达式。

2

Name

列的名称,用双引号括起来。

3

scalar_expression

返回标量值(如列引用、整数或字符串值)的 DAX 表达式。

返回值

在返回值部分,您将了解 DAX 函数将返回什么值及其数据类型。

评论

在备注部分,您将了解有关 DAX 函数用法的任何额外信息。您还将了解潜在的错误和原因。

例子

本节给出了 DAX 函数的使用示例。

注意– 当您使用参数的数据值编写 DAX 函数时,您将遵循以下命名约定 –

  • 表名称在它出现在数据模型中时被指定。例如销售。

  • 列名在数据模型中出现时指定,并用方括号括起来。

    例如,[销售额]

    • 建议对列使用完全限定名称,即列名以包含它的表名作为前缀。

      例如,销售额[销售额]

    • 如果表名包含空格,则应将其括在单引号中。

      例如,’East Sales'[销售额]

  • DAX 函数可以返回值的列或表,在这种情况下,它需要用作另一个需要列或表的 DAX 函数的参数。

DAX 函数 – 聚合

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

以下是 DAX 聚合函数 –

DAX 函数 – 过滤器

您可以使用 DAX 过滤器函数返回特定数据类型、在相关表中查找值并按相关值进行过滤。查找函数通过使用表和它们之间的关系来工作。过滤器函数使您能够操作数据上下文以创建动态计算。

以下是 DAX 过滤器功能

DAX 函数 – 时间智能

DAX 时间智能函数使您能够使用时间段(包括天、月、季度和年)操作数据,从而帮助您创建支持商业智能分析需求的计算。

以下是 DAX 时间智能函数

DAX 函数 – 日期和时间

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

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

DAX 函数 – 信息

DAX 信息函数查看作为参数提供的值或列,并告诉您该值是否与预期类型匹配。

以下是 DAX 信息功能 –

DAX 函数 – 逻辑

DAX 逻辑函数根据对相关参数执行的逻辑运算返回逻辑值 (TRUE/FALSE)。

以下是 DAX 逻辑函数 –

数学和三角函数

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

以下是 DAX 数学和三角函数 –

DAX 函数 – 父子函数

DAX 父子函数可用于管理在数据模型中显示为父/子层次结构的数据。

以下是 DAX 父子函数 –

DAX 函数 – 统计

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

以下是 DAX 统计函数 –

DAX 函数 – 文本

DAX 文本函数适用于表和列。使用 DAX 文本函数,您可以返回字符串的一部分、搜索字符串中的文本或连接字符串值。您还可以控制日期、时间和数字的格式。

以下是 DAX 文本函数 –

DAX 函数 – 其他

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

以下是 DAX 其他功能 –

觉得文章有用?

点个广告表达一下你的爱意吧 !😁