DAX 函数 - 快速指南
DAX 函数 - 简介
DAX代表数据分析表达式。_ 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 函数具有相同的名称和相同的一般Behave。
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 Text 函数,您可以返回字符串的一部分、搜索字符串中的文本或连接字符串值。您还可以控制日期、时间和数字的格式。
有关详细信息,请参阅章节 - DAX 文本函数。
DAX其他功能
这些 DAX 函数执行无法由大多数其他函数所属的任何类别定义的独特操作。
有关详细信息,请参阅章节 - DAX 其他函数。
DAX 函数描述结构
如果必须在 DAX 公式中使用 DAX 函数,则需要详细了解该函数。你应该知道函数的语法、参数类型、函数返回什么等。
在本教程中,所有 DAX 函数都使用通用的函数描述结构,以便您可以有效地阅读和解释 DAX 函数。
有关详细信息,请参阅章节 - DAX 函数描述结构。
DAX 参数命名约定
DAX具有标准参数名称,以方便使用和理解DAX函数。此外,您可以对参数名称使用某些前缀。如果前缀足够清晰,可以使用前缀本身作为参数名称。
要了解 DAX 函数的语法并为相关 DAX 函数参数正确使用数据值,您需要了解 DAX 参数命名约定。
参数名称
以下是 DAX 标准参数名称 -
先生。 | 参数名称及说明 |
---|---|
1 |
表达 返回单个标量值的任何 DAX 表达式,其中该表达式将被计算多次(针对每行/上下文)。 |
2 |
价值 任何返回单个标量值的 DAX 表达式,其中该表达式在所有其他操作之前仅计算一次。 |
3 |
桌子 返回数据表的任何 DAX 表达式。 |
4 |
表名 使用标准 DAX 语法的现有表的名称。它不能是一个表达式。 |
5 |
列名 使用标准 DAX 语法的现有列的名称,通常是完全限定的。它不能是一个表达式。 |
6 |
姓名 将用于提供新对象名称的字符串常量。 |
7 |
命令 用于确定排序顺序的枚举。 |
8 |
领带 用于确定绑定值的处理的枚举。 |
9 |
类型 用于确定 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 的参数如下表列出。
先生。 | 参数及说明 |
---|---|
1 |
桌子 表或返回表的 DAX 表达式。 |
2 |
姓名 为列指定的名称,用双引号引起来。 |
3 |
标量表达式 返回标量值(如列引用、整数或字符串值)的 DAX 表达式。 |
返回值
在“返回值”部分中,您将了解 DAX 函数将返回什么值及其数据类型。
评论
在备注部分,您将了解有关 DAX 函数的使用所需的任何额外信息。您还将了解潜在的错误及其原因。
例子
本节给出了 DAX 函数的使用示例。
注意- 当您使用参数的数据值编写 DAX 函数时,您将遵循以下给出的命名约定 -
表名称按其在数据模型中显示的方式指定。例如销售。
列名称是按照数据模型中显示的形式指定的,并用方括号将其括起来。
例如,[销售额]
建议对列使用完全限定名称,即列名以包含该列的表名作为前缀。
例如,销售额[销售额]
如果表名包含空格,则应将其用单引号括起来。
例如,“东部销售”[销售额]
DAX 函数可以返回值的列或表,在这种情况下,需要将其用作另一个需要列或表的 DAX 函数的参数。
DAX 函数 - 聚合
DAX 聚合函数聚合表行上的任何表达式,并且在计算中非常有用。
以下是 DAX 聚合函数 -
- DAX ADDCOLUMNS 函数
- DAX 平均函数
- DAX 平均函数
- DAX 平均函数
- DAX 计数函数
- DAX COUNTA 函数
- DAX COUNTAX 函数
- DAX COUNTBLANK 函数
- DAX COUNTROWS 函数
- DAX COUNTX 函数
- DAX 交叉连接函数
- DAX DISTINCTCOUNT 函数
- DAX 生成函数
- DAX GENERATEALL 函数
- DAX MAX 函数
- DAX MAXA 函数
- DAX 函数
- DAX 最小值函数
- DAX MINA 函数
- DAX MINX 函数
- DAX 产品功能
- DAX 乘积X 函数
- DAX 行函数
- DAX SELECTCOLUMNS 函数
- DAX SUM 函数
- DAX 汇总函数
- 带选项的 DAX SUMMARIZE 函数
- DAX SUMX 函数
- DAX TOPN 函数
DAX 函数 - 过滤器
您可以使用 DAX 过滤器函数返回特定数据类型、在相关表中查找值并按相关值进行过滤。查找函数通过使用表及其之间的关系来工作。过滤器函数使您能够操纵数据上下文以创建动态计算。
以下是 DAX 过滤器功能
- DAX 添加商品功能
- DAX 全部功能
- DAX ALLEXCEPT 函数
- DAX ALLNOBLANKROW 函数
- DAX ALLSELECTED 函数
- DAX 计算函数
- DAX 计算表函数
- DAX 交叉过滤器功能
- DAX DISTINCT 函数
- DAX 早期函数
- DAX 最早函数
- DAX 过滤功能
- DAX 过滤器功能
- DAX HASONEFILTER 功能
- DAX HASONEVALUE 函数
- DAX 交叉过滤函数
- DAX ISFILTERED 函数
- DAX KEEPFILTERS 函数
- DAX 相关函数
- DAX RELATEDTABLE 函数
- DAX 用户关系函数
- DAX 值函数
DAX 函数 - 时间智能
DAX 时间智能功能使您能够使用时间段(包括日、月、季度和年)操作数据,从而帮助您创建支持商业智能分析需求的计算。
以下是 DAX 时间智能功能
- DAX CLOSINGBALANCEMONTH 函数
- DAX CLOSINGBALANCEQUARTER 函数
- DAX CLOSINGBALANCEYEAR 函数
- DAX DATEADD 函数
- DAX 日期之间函数
- DAX DATESINPERIOD 函数
- DAX DATESMTD 函数
- DAX DATESQTD 函数
- DAX DATESYTD 函数
- DAX ENDOFMONTH 函数
- DAX ENDOFQUARTER 函数
- DAX ENDOFYEAR 函数
- DAX FIRSTDATE 函数
- DAX FIRSTNONBLANK 函数
- DAX 最后日期函数
- DAX LASTNONBLANK 函数
- DAX NEXTDAY 函数
- DAX NEXTMONTH 函数
- DAX NEXTQUARTER 函数
- DAX NEXTYEAR 函数
- DAX OPENINGBALANCEMONTH 函数
- DAX OPENINGBALANCEQUARTER 函数
- DAX OPENINGBALANCEYEAR 函数
- DAX PARALLELPERIOD 函数
- DAX PREVIOUSDAY 函数
- DAX PREVIOUSMONTH 函数
- DAX PREVIOUSQUARTER 函数
- DAX PREVIOUSYEAR 函数
- DAX SAMEPERIODLASTYEAR 函数
- DAX STARTOFMONTH 函数
- DAX STARTOFQUARTER 函数
- DAX STARTOFYEAR 函数
- DAX TOTALMTD 函数
- DAX TOTALQTD 函数
- DAX TOTALYTD 函数
DAX 函数 - 日期和时间
DAX 日期和时间函数与 Excel 日期和时间函数类似。但是,DAX 日期和时间函数基于 DAX 日期时间数据类型。
以下是 DAX 日期和时间函数 -
- DAX 日历功能
- DAX 日历自动功能
- DAX 日期函数
- DAX DATEDIFF 函数
- DAX 日期值函数
- DAX DAY 函数
- DAX EDATE 函数
- DAX EOMONTH 函数
- DAX 小时函数
- DAX 分钟函数
- DAX 月份函数
- DAX NOW 函数
- DAX 第二函数
- DAX 时间函数
- DAX 时间值函数
- DAX TODAY 函数
- DAX 工作日函数
- DAX 周数函数
- DAX 年函数
- DAX YEARFRAC 函数
DAX 函数 - 信息
DAX 信息函数查看作为参数提供的值或列,并告诉您该值是否与预期类型匹配。
以下是 DAX 信息功能 -
- DAX 包含函数
- DAX 自定义数据函数
- DAX ISBLANK 函数
- DAX ISERROR 函数
- DAX ISEMPTY 函数
- DAX ISEVEN 函数
- DAX ISLOGICAL 函数
- DAX ISNONTEXT 函数
- DAX ISNUMBER 函数
- DAX ISODD 函数
- DAX ISONORAFTER 函数
- DAX ISTEXT 函数
- DAX LOOKUPVALUE 函数
- DAX 用户名函数
DAX 函数 - 逻辑
DAX 逻辑函数根据对相关参数执行的逻辑运算返回逻辑值 (TRUE/FALSE)。
以下是 DAX 逻辑函数 -
数学与三角函数
DAX 数学和三角函数与 Excel 数学和三角函数非常相似。
以下是 DAX 数学和三角函数 -
- DAX ABS 功能
- DAX ACOS 函数
- DAX ACOSH 函数
- DAX ASIN 功能
- DAX ASINH 函数
- DAX ATAN 函数
- DAX ATANH 函数
- DAX 天花板函数
- DAX COMBIN 函数
- DAX COMBINA 函数
- DAX COS 函数
- DAX COSH 函数
- DAX 货币函数
- DAX 度函数
- DAX 除法函数
- DAX 偶数函数
- DAX EXP函数
- DAX 事实函数
- DAX 下限函数
- DAX GCD 函数
- DAX INT 函数
- DAX ISO.CEILING 函数
- DAX 液晶模组功能
- DAX 闪电网络功能
- DAX 日志功能
- DAX LOG10 函数
- DAX MROUND 函数
- DAX MOD功能
- DAX 奇函数
- DAX PERMUT 函数
- DAX PI 函数
- DAX 电源功能
- DAX 商函数
- DAX 弧度函数
- DAX 兰德函数
- DAX RANDBETWEEN 函数
- DAX ROUND 函数
- DAX 舍入函数
- DAX ROUNDUP 函数
- DAX 符号函数
- DAX正弦函数
- DAX SINH 函数
- DAX 平方函数
- DAX SQRTPI 函数
- DAX TAN 函数
- DAX 正切函数
- DAX TRUNC 函数
DAX 函数 - 父函数和子函数
DAX 父函数和子函数可用于管理在数据模型中作为父/子层次结构呈现的数据。
以下是 DAX 父函数和子函数 -
DAX 函数 - 统计
DAX 统计函数与 Excel 统计函数非常相似。
以下是 DAX 统计函数 -
- DAX BETA.DIST 函数
- DAX BETA.INV 函数
- DAX CHISQ.DIST 函数
- DAX CHISQ.DIST.RT 函数
- DAX CHISQ.INV 函数
- DAX CHISQ.INV.RT 函数
- DAX CONFIDENCE.NORM 函数
- DAX CONFIDENCE.T 函数
- DAX EXPON.DIST 函数
- DAX GEOMEAN 函数
- DAX GEOMEANX 函数
- DAX 中位数函数
- DAX MEDIANX 函数
- DAX PERCENTILE.EXC 函数
- DAX PERCENTILE.INC 函数
- DAX PERCENTILEX.EXC 函数
- DAX PERCENTILEX.INC 函数
- DAX POISSON.DIST 函数
- DAX RANK.EQ 函数
- DAX RANKX 函数
- DAX 样本函数
- DAX STDEV.P 函数
- DAX STDEV.S 函数
- DAX STDEVX.P 函数
- DAX STDEVX.S 函数
- DAX VAR.P 函数
- DAX VAR.S 函数
- DAX VARX.P 函数
- DAX VARX.S 函数
- DAX XIRR 函数
- DAX XNPV 函数
DAX 函数 - 文本
DAX 文本函数适用于表和列。使用 DAX Text 函数,您可以返回字符串的一部分、搜索字符串中的文本或连接字符串值。您还可以控制日期、时间和数字的格式。
以下是 DAX 文本函数 -
- DAX 空白函数
- DAX 代码功能
- DAX 连接函数
- DAX CONCATATEX 函数
- DAX 精确函数
- DAX 查找函数
- DAX 固定函数
- DAX 格式函数
- DAX 左函数
- DAX LEN 函数
- DAX 下线函数
- DAX 中函数
- DAX 替换函数
- DAX REPT 函数
- DAX 右函数
- DAX 搜索功能
- DAX 替代函数
- DAX TRIM 函数
- DAX UPPER 函数
- DAX 值函数
DAX 函数 - 其他
这些 DAX 函数执行大多数其他 DAX 函数所属的任何类别都无法定义的独特操作。
以下是 DAX 其他功能 -