Power Pivot&Power BI DAX 函数说明速查

传送门
https://zhuanlan.zhihu.com/p/74689634

file

ABS

返回数值的绝对值。

ACOS

返回 number 的反余弦值。反余弦值是指余弦值为 number 的角度。返回的角度以弧度表示,范围在 0 (零)到 pi 之间。

ACOSH

返回 number 的反双曲余弦值。Number 必须大于或等于 1。反双曲余弦值是指双曲余弦值为 number 的值,因此 ACOSH(COSH(number)) 等于 number.

ACOT

返回 number 的反余切值的主值。

ACOTH

返回 number 的反双曲余切值。

ADDCOLUMNS

返回具有 DAX 表达式指定的新列的表。

ADDMISSINGITEMS

重新添加包含空度量值的行。

ALL

返回表中的所有行或列中的所有值,同时忽略可能已应用的任何筛选器。

ALLCROSSFILTERED

清除应用于指定表的所有筛选器。

ALLEXCEPT

返回表中除受指定的列筛选器影响的那些行之外的所有行。

ALLNOBLANKROW

返回表中除空行之外的所有行或列中的所有值,同时忽略可能已应用的任何筛选器。

ALLSELECTED

返回表中的所有行或列中的所有值,同时忽略可能已应用在查询内的任何筛选器,但保留来自外部的筛选器。

AND

检查所有参数是否均为 TRUE;如果所有参数均为 TRUE,则返回 TRUE。

ASIN

返回 number 的反正弦值。反正弦值是指正弦值为 number 的角度。返回的角度以弧度表示,范围在 -pi/2 到 pi/2 之间。

ASINH

返回 number 的反双曲正弦值。反双曲正弦值是双曲正弦值为 number 的值,因此 ASINH(SINH(number)) 等于 number。

ATAN

返回 number 的反正切值。反正切值是指正切值为 number 的角度。返回的角度以弧度表示,范围在 -pi/2 到 pi/2 之间。

ATANH

返回 number 的反双曲正切值。Number 必须在 -1 到 1 之间(不包括 -1 和 1)。反双曲正切值是指双曲正切值为 number 的值,因此 ATANH(TANH(number)) 等于 number。

AVERAGE

返回列中所有数值的平均值(算术平均值)。

AVERAGEA

返回列中值的平均值(算术平均值)。处理文本和非数字值。

AVERAGEX

计算通过表格计算出的一组表达式的平均值(算术平均值)。

BETA.DIST

返回 Beta 分布。Beta 分布通常用于研究样本中某个因素的变化情况(用百分数表示),如一天中人们看电视所花时间的比例。

BETA.INV

返回 Beta 累积概率密度函数(BETA.DIST)的反函数。如果 probability = BETA.DIST(x,...TRUE),则 BETA.INV(probability,...) = x。Beta 分布可用于项目设计,在已知预期的完成时间和变化参数后,模拟可能的完成时间。

BLANK

返回空白。

CALCULATE

在筛选器修改的上下文中对表表达式进行求值。

CALCULATETABLE

在筛选器修改的上下文中对表达式进行求值。

CALENDAR

返回一个表,开始日期和结束日期之间的所有日期位于一列上。

CALENDARAUTO

返回一个表,其中有一列自动从模型计算日期。

CEILING

将数值向上舍入为最接近的整数,或最接近的基数单位。

CHISQ.DIST

返回卡方分布。卡方分布通常用于研究样本中某个因素的变化情况(用百分数表示),如一天中人们看电视所花时间的比例。

CHISQ.DIST.RT

返回卡方分布的右尾概率。卡方分布与卡方检验相关联。卡方检验用于比较观察值和预期值。例如,遗传学实验中可能会假设植物的下一代会展示某种颜色集。通过比较观察结果和预期结果,可以确定您的原始假设是否有效。

CHISQ.INV

返回卡方分布的左尾概率的倒数。卡方分布通常用于研究样本中某个因素的变化情况(用百分数表示),如一天中人们看电视所花时间的比例。

CHISQ.INV.RT

返回卡方分布的右尾概率的倒数。如果概率 = CHISQ.DIST.RT(x,...),则 CHISQ.INV.RT(概率,...) = x。此函数用于比较观察结果与预期结果,以确定您的原始假设是否有效。

CLOSINGBALANCEMONTH

在应用指定的筛选器后,针对与当前月份结束对应的日期,计算指定的表达式的值。

CLOSINGBALANCEQUARTER

在应用指定的筛选器后,针对与当前季度结束对应的日期,计算指定的表达式的值。

CLOSINGBALANCEYEAR

在应用指定的筛选器后,针对与当前年度结束对应的日期,计算指定的表达式的值。

COMBIN

返回从给定元素数目的集合中提取若干元素的组合数。使用 COMBIN 来确定给定元素数目中提取若干元素的可能总计组数目。

COMBINA

返回给定项数的组合数(包含重复)。

COMBINEVALUES

使用指定的分隔符合并给定的操作数集。

CONCATENATE

将两个文本字符串联接成一个文本字符串。

CONCATENATEX

计算表上每个行的表达式,然后用单个字符串结果返回这些值的串接,值之间用指定的分隔符分隔。

CONFIDENCE.NORM

使用正态分布返回总体平均数的置信区间。

CONFIDENCE.T

使用学生 t 分布返回总体平均数的置信区间。

CONTAINS

如果至少有一行的所有列都包含指定的值,则返回 TRUE。

CONTAINSROW

如果至少有一行的所有列都包含指定的值,则返回 TRUE。

CONTAINSSTRING

如果一个文本字符串包含其他文本字符串,则返回 TRUE。CONTAINSSTRING 不区分大小写。

CONTAINSSTRINGEXACT

如果一个文本字符串包含其他文本字符串,则返回 TRUE。CONTAINSSTRINGEXACT 区分大小写。

COS

返回给定角度的余弦值。

COSH

返回 number 的双曲余弦值。

COT

返回以弧度指定的角度的余切值。

COTH

返回双曲角的双曲余切值。

COUNT

对列中的数值进行计数。

COUNTA

对列中的值的数量进行计数。

COUNTAX

计算由对表中每一行的表达式进行计算而得出的值的数量。

COUNTBLANK

对列中空白的数量进行计数。

COUNTROWS

对表中的行数进行计数。

COUNTX

计算由对表中每一行的表达式进行计算而得出的值的数量。

CROSSFILTER

指定要在计算 DAX 表达式中使用的交叉筛选方向。通过命名两个作为端点的列定义该关系为参数。

CROSSJOIN

返回是指定表的叉积的表。

CURRENCY

将值作为货币数据类型返回。

CURRENTGROUP

访问表示 GroupBy 函数中的当前组的(子)表。只能用在 GroupBy 函数中。

CUSTOMDATA

如果已定义,则返回 CustomData 连接字符串属性的值;否则返回 BLANK()。

DATATABLE

返回具有以内联方式定义的数据的表。

DATE

以日期时间格式返回指定的日期。

DATEADD

按指定的间隔移动给定的一组日期。

DATEDIFF

返回输入两个日期之间的单位量(指定的单位间隔)。

DATESBETWEEN

返回两个给定日期之间的日期。

DATESINPERIOD

返回给定期间中的日期。

DATESMTD

返回此月份中截至当前日期的一组日期。

DATESQTD

返回此季度中截至当前日期的一组日期。

DATESYTD

返回此年度中截至当前日期的一组日期。

DATEVALUE

将文本格式的日期转换为日期时间格式的日期。

DAY

返回表示月中第几天的数值,该值介于 1 和 31 之间。

DEGREES

将弧度转换成角度。

DETAILROWS

返回对应于指定度量值上定义的 DetailRows 表达式的表数据。如果 DetailRows 表达式未定义,则返回度量值所属的整个表。

DISTINCT

针对一个列参数,返回由一列组成的一个表,列中包含不同(唯一)值。或针对一个表表达式参数,返回包含不同(唯一)值组合的多个列。

DISTINCTCOUNT

对列中不同的值的数量进行计数。

DISTINCTCOUNTNOBLANK

对列中不同的值的数量进行计数。

DIVIDE

能够处理被零除情况的 Safe Divide 函数。

EARLIER

返回列中指定表扫描数目之前的值(默认值为 1)。

EARLIEST

返回列中最先存在行上下文的点的值。

EDATE

返回在开始日期之前或之后指定月份数的日期。

ENDOFMONTH

返回月末。

ENDOFQUARTER

返回季度末。

ENDOFYEAR

返回年末。

EOMONTH

返回指定月份数之前或之后的月份的最后一天的日期,该日期采用日期时间格式。

ERROR

引发用户指定的错误。

EVEN

返回舍入到最近的偶数的数字。您可以使用此函数来处理成对出现的元素。例如,某个包装箱能容纳多行,每行一个或两个元素。当元素数目舍入到最近的匹配箱子容量的偶数时,箱子已经装满。

EXACT

检查两个文本字符串是否完全相同,并且返回 TRUE 或 FALSE。EXACT 区分大小写。

EXCEPT

返回未在右侧表中显示的左侧表的行。

EXP

返回 e 的指定次方。

EXPON.DIST

返回指数分布。使用 EXPON.DIST 来建立事件之间的时间(如自动柜员机交付现金所花的时间)的模型。例如,您可以使用 EXPON.DIST 来确定耗时最多为 1 分钟的过程的概率。

FACT

返回数值的阶乘,等于 123... 数值。

FALSE

返回逻辑值 FALSE。

FILTER

返回已筛选的表。

FILTERS

返回直接应用于指定列的筛选器值的表。

FIND

返回一个文本字符串在另一个文本字符串中的起始位置。FIND 区分大小写。

FIRSTDATE

返回第一个非空白日期。

FIRSTNONBLANK

返回列中表达式具有非空白值的第一个值。

FIXED

将数值舍入到指定的小数位数并将结果返回为具有可选逗号的文本。

FLOOR

向零方向将数值向下舍入为最接近的基数的倍数。

FORMAT

将值转换为采用指定数值格式的文本。

GCD

返回两个整数的最大公约数。最大公约数是除 number1 和 number2 没有余数的最大整数。

GENERATE

将为第一个表中的每一行计算第二个表表达式。返回第一个表与这些结果的叉积。

GENERATEALL

将为第一个表中的每一行计算第二个表表达式。返回第一个表与这些结果的叉积,包括第二个表表达式为空的行。

GENERATESERIES

返回具有一列,并且从始至终使用连续值填充的表。

GEOMEAN

返回指定引用列的几何平均值。

GEOMEANX

返回表格中表达式值的几何平均值。

GROUPBY

创建按指定列分组的输入表的摘要。

HASONEFILTER

如果指定表或列有且只有一个筛选器,则返回 true。

HASONEVALUE

在指定列中仅有一个值时,返回 true。

HOUR

返回表示小时的数值,该值介于 0 (12:00 A.M.)到 23 (11:00 P.M.)之间。

IF

检查是否满足条件,如果为 TRUE 则返回一个值,如果为 FALSE 则返回另一个值。

IFERROR

如果第一个表达式为错误,则返回 value_if_error;否则,返回该表达式本身的值。

IGNORE

在确定非空行时,将在 SUMMARIZECOLUMNS 函数调用中指定的测量表达式标记为忽略。

INT

将数值向下舍入到最接近的整数。

INTERSECT

返回在右侧表中显示的左侧表的行。

ISBLANK

检查值是否为空白,并返回 TRUE 或 FALSE。

ISCROSSFILTERED

在对指定表或列进行交叉筛选时,返回 true。

ISEMPTY

如果指定的表或表表达式为空,则返回 true。

ISERROR

检查值是否为错误,并返回 TRUE 或 FALSE。

ISEVEN

如果数字为偶数则返回 TRUE,或者如果数字为奇数则返回FALSE。

ISFILTERED

在存在针对指定列的直接筛选器时,返回 true。

ISINSCOPE

当指定的列是级别层次结构中的级别时,返回 True。

ISLOGICAL

检查值是否为逻辑值(TRUE 或 FALSE),并返回 TRUE 或 FALSE。

ISNONTEXT

检查值是否不是文本(空单元格不是文本),并返回 TRUE 或 FALSE。

ISNUMBER

检查值是否为数值,并返回 TRUE 或 FALSE。

ISO.CEILING

将数值向上舍入为最接近的整数或最接近的基数的倍数。

ISODD

如果数字为奇数则返回 TRUE,或者如果数字为偶数则返回 FALSE。

ISONORAFTER

IsOnOrAfter 函数是模仿 Start At 从句的行为的布尔函数,并且为满足所有提及的条件的行返回 true,如此函数中的参数一样。

ISSELECTEDMEASURE

如果当前正在计算所指定的度量值之一,则返回 true。

ISSUBTOTAL

如果当前行包含指定列的小计,则返回 TRUE;否则返回 FALSE。

ISTEXT

检查值是否为文本,并返回 TRUE 或 FALSE。

KEEPFILTERS

更改筛选语义的 CALCULATE 和 CALCULATETABLE 函数。

LASTDATE

返回最后一个非空白日期。

LASTNONBLANK

返回列中表达式具有非空白值的最后一个值。

LCM

返回整数的最小公倍数。最小公倍数是同时为整数参数 number1 和 number2 的倍数的最小正整数。使用 LCM 来添加具有不同分母的小数。

LEFT

返回从文本字符串开头开始的指定数目的字符。

LEN

返回文本字符串中的字符数。

LN

返回数值的自然对数。

LOG

根据给定底数返回数值的对数。

LOG10

返回数值的以 10 为底的对数。

LOOKUPVALUE

从表中检索某个值。

LOWER

将文本字符串中的所有字母都转换为小写。

MAX

返回列中的最大数值或最大字符串,或两个标量表达式中的较大值。忽略逻辑值。

MAXA

返回列中的最大值。切勿忽略逻辑值和文本。

MAXX

返回对表中每一行的表达式进行计算而得出的最大数值或最大字符串。

MEDIAN

返回列中值的第 50 个百分位。

MEDIANX

返回表格中表达式值的第 50 个百分位。

MID

从文本字符串中间返回指定开始位置和长度的字符串。

MIN

返回列中的最小数值或最小字符串,或两个标量表达式中的较小值。忽略逻辑值。

MINA

返回列中的最小值。切勿忽略逻辑值和文本。

MINUTE

返回表示分钟的 0 到 59 之间的数值。

MINX

返回对表中每一行的表达式进行计算而得出的最小数值或最小字符串。

MOD

返回某数值除以除数后得到的余数。

MONTH

返回表示月份的 1 (一月)到 12 (十二月)之间的数值。

MROUND

返回舍入到所需倍数的数值。

NATURALINNERJOIN

使用内部联接语义将左侧表与右侧表联接。

NATURALLEFTOUTERJOIN

使用左侧外部联接语义将左侧表与右侧表联接。

NEXTDAY

返回下一天。

NEXTMONTH

返回下个月。

NEXTQUARTER

返回下个季度。

NEXTYEAR

返回下一年度。

NONVISUAL

将筛选器标记为 NonVisual。

NORM.DIST

返回指定平均值和标准偏差的正态分布。

NORM.INV

返回指定平均值和标准偏差的逆正态累积分布。

NORM.S.DIST

返回标准正态分布(平均值为 0,标准偏差为 1)。

NORM.S.INV

返回逆标准正态累积分布。分布的平均值为 0,标准偏差为 1。

NOT

将 FALSE 更改为 TRUE,或者将 TRUE 更改为 FALSE。

NOW

返回采用日期时间格式的当前日期和时间。

ODD

返回舍入到最近的奇数的数字。

OPENINGBALANCEMONTH

在应用指定的筛选器后,针对与上个月份结束对应的日期,计算指定的表达式的值。

OPENINGBALANCEQUARTER

在应用指定的筛选器后,针对与上个季度结束对应的日期,计算指定的表达式的值。

OPENINGBALANCEYEAR

在应用指定的筛选器后,针对与上个年度结束对应的日期,计算指定的表达式的值。

OR

如果任何参数为 TRUE,则返回 TRUE;如果所有参数均为 FALSE,则返回 FALSE。

PARALLELPERIOD

返回按一组给定日期和指定的间隔列出的并行日期期间。

PATH

返回包含 ID 的分隔列表的字符串,该字符串以层次结构的顶部/根开始,以指定的 ID 结束。

PATHCONTAINS

如果指定的路径中存在指定的项,则返回 TRUE。

PATHITEM

返回 Path 函数生成的分隔列表中的第 n 项。

PATHITEMREVERSE

返回 Path 函数生成的分隔列表中的第 n 项,从该路径中的最后一项反向计数。

PATHLENGTH

返回特定路径字符串中项的数量。对于为处于层次结构的顶部/根处的 ID 生成的路径,该函数返回 1。

PERCENTILE.EXC

返回列中值的第 k 个(不包括)百分位。

PERCENTILE.INC

返回列中值的第 k 个(包括)百分位。

PERCENTILEX.EXC

返回表格中表达式值的第 k 个(不包括)百分位。

PERCENTILEX.INC

返回表格中表达式值的第 k 个(包括)百分位。

PERMUT

返回可以从对象总数中选取的给定数目对象的排列数。排列是对象或事件的任何集或子集,其内部顺序非常重要。排列不同于集合,集合的内部顺序并不重要。此函数可用于彩票形式的概率计算。

PI

返回 Pi 值 3.14159265358979,精确到 15 位。

POISSON.DIST

返回泊松分布。泊松分布的一个常见应用是预测特定时间段内的事件数,如 1 分钟内到达收费站的汽车辆数。

POWER

返回某数值的乘幂。

PREVIOUSDAY

返回上一天。

PREVIOUSMONTH

返回上个月。

PREVIOUSQUARTER

返回上个季度。

PREVIOUSYEAR

返回上一年度。

PRODUCT

返回指定列引用的结果。

PRODUCTX

返回表格中表达式值的结果。

QUOTIENT

返回除法结果的整数部分。

RADIANS

将角度转换成弧度。

RAND

返回一个大于或等于 0 且小于 1 的平均分布随机数。重新计算之后,随机数将发生变化。

RANDBETWEEN

返回您指定的数值之间的一个随机数。

RANK.EQ

返回数值列中的数值排名。如果多个值具有相同的排名,则返回该组值的最高排名。

RANKX

针对为指定表中每一行计算的表达式,返回值列表的当前上下文中计算的表达式的排名。

RELATED

从其他表返回相关值。

RELATEDTABLE

返回已筛选的相关表,以使该表只包括相关行。

REPLACE

使用其他文本字符串来替换文本字符串的一部分。

REPT

将文本重复给定次数。使用 RPET 在一个单元中重复填写一定次数的文本字符串。

RIGHT

返回从文本字符串末尾开始指定数目的字符。

ROLLUP

标识在应该用于计算小计的 SUMMARIZE 函数调用中指定的列的子集。

ROLLUPADDISSUBTOTAL

标识在应该用于计算分组小计的 SUMMARIZECOLUMNS 函数调用中指定的列的子集。

ROLLUPGROUP

标识在应该用于计算分组小计的 SUMMARIZE 函数调用中指定的列的子集。

ROLLUPISSUBTOTAL

将汇总组与 ROLLUPADDISSUBTOTAL 添加的列配对。

ROUND

将数值舍入到指定的位数。

ROUNDDOWN

向零方向,向下舍入数值。

ROUNDUP

从零开始,向上舍入数值。

ROW

返回具有 DAX 表达式指定的新列的单行表。

SAMEPERIODLASTYEAR

返回上一年度中当前选择的一组日期。

SAMPLE

从指定的表表达式返回抽样子集。

SEARCH

返回一个文本字符串在另一个文本字符串内的起始位置。SEARCH 不区分大小写。

SECOND

返回表示秒的 0 到 59 之间的数值。

SELECTCOLUMNS

返回具有从表中选择的列以及 DAX 表达式指定的新列的表。

SELECTEDMEASURE

返回当前正在计算的度量值。

SELECTEDMEASUREFORMATSTRING

返回当前正在计算的度量值的格式字符串。

SELECTEDMEASURENAME

返回当前正在计算的度量值的名称。

SELECTEDVALUE

在指定列中只有一个值时返回该值,否则返回替代结果。

SIGN

返回数值的符号: 如果数值为正则为 1,如果数值为零则为零,如果数值为负则为 -1。

SIN

返回给定角度的正弦值。

SINH

返回 number 的双曲正弦值。

SQRT

返回数值的平方根。

SQRTPI

返回(数字 * pi)的平方根。

STARTOFMONTH

返回月初。

STARTOFQUARTER

返回季度初。

STARTOFYEAR

返回年初。

STDEV.P

基于指定为参数的整个填充内容计算标准偏差。忽略逻辑值和文本。

STDEV.S

基于抽样估算标准偏差。忽略抽样中的逻辑值和文本。

STDEVX.P

基于由对表中每一行的表达式进行计算而得出的整个填充内容估算标准偏差。

STDEVX.S

基于由对表中每一行的表达式进行计算而得出的抽样估算标准偏差。

SUBSTITUTE

在文本字符串中使用新文本来替换现有文本。

SUBSTITUTEWITHINDEX

返回表示提供的两个表格的半联接的表格以及为其用基于 0 的索引列替换列的公用集的表格。该索引建立在按指定顺序表达式对第二个表格的行进行排序的基础上。

SUM

对某个列中的所有数值求和。

SUMMARIZE

创建按指定列分组的输入表的摘要。

SUMMARIZECOLUMNS

创建针对组集请求的总计的摘要表格。

SUMX

返回为表中的每一行计算的表达式的和。

SWITCH

根据表达式的值返回不同结果。

T.DIST

返回左尾学生 t 分布。

T.DIST.2T

返回双尾学生 t 分布。

T.DIST.RT

返回右尾学生 t 分布。

T.INV

返回左尾逆学生 t 分布。

T.INV.2T

返回双尾逆学生 t 分布。

TAN

返回给定角度的正切值。

TANH

返回 number 的双曲正切值。

TIME

将以数值形式给出的小时、分钟和秒转换为日期时间格式的时间。

TIMEVALUE

将文本格式的时间转换为日期时间格式的时间。

TODAY

以日期时间格式返回当前日期。

TOPN

根据指定的表达式返回指定数目的前几行。

TOTALMTD

在应用指定的筛选器后,针对从该月份的第一天开始到指定日期列中的最后日期结束的间隔,计算指定的表达式的值。

TOTALQTD

在应用指定的筛选器后,针对从该季度的第一天开始到指定日期列中的最后日期结束的间隔,计算指定的表达式的值。

TOTALYTD

在应用指定的筛选器后,针对从该年度的第一天开始到指定日期列中的最后日期结束的间隔,计算指定的表达式的值。

TREATAS

将输入表列视为其他表列。对每一列,筛选掉各自输出列中不存在的任何值。

TRIM

从文本字符串中删除所有空格,单词之间的单个空格除外。

TRUE

返回逻辑值 TRUE。

TRUNC

通过删除数值的小数或分数部分,将数值截断为整数。

UNICHAR

返回给定数值引用的 Unicode 字符。

UNICODE

返回与文本的首个字符对应的数字(码位)。

UNION

返回其列相匹配的两个表格的联合。

UPPER

将文本字符串转换为全大写字母。

USERELATIONSHIP

指定要在计算 DAX 表达式中使用的现有关系。通过命名两个作为端点的列定义该关系为参数。

USERNAME

以域名\用户名格式返回当前连接的域名和用户名。

USEROBJECTID

对于 Azure Analysis Server 从 Azure AD 返回当前用户的对象 ID,对于本地 Analysis Server 返回当前用户的 SID。

USERPRINCIPALNAME

返回用户主体名称。

UTCNOW

返回以协调世界时(UTC)表示的日期时间格式所显示的当前日期和时间。

UTCTODAY

返回以协调世界时(UTC)表示的日期时间格式所显示的当前日期。

VALUE

将表示数值的文本字符串转换为数值。

VALUES

返回由一列组成的表或列中包含不同(唯一)值的表。

VAR.P

基于整个填充内容计算方差。忽略填充内容中的逻辑值和文本。

VAR.S

基于抽样估算方差。忽略抽样中的逻辑值和文本。

VARX.P

基于由对表的每一行的表达式进行计算而得出的总体填充内容估算方差。

VARX.S

基于由对表中每一行的表达式进行计算而得出的抽样估算方差。

WEEKDAY

返回指示日期属于星期几的数值,该值介于 1 到 7 之间。

WEEKNUM

返回年份中的周数。

XIRR

返回不一定具有周期性的现金流时间表的内部收益率。

XNPV

返回现金流时间表的净现值。

YEAR

返回日期的年份,该值为四位整数。

YEARFRAC

返回表示 start_date 和 end_date 之间全天数目的年份部分。

by 焦棚子