如何使用 Power BI DAX 数学函数及示例?Microsoft Power BI DAX 提供了多种数学函数,例如 CEILING、FLOOR、CURRENCY、INT、SQRT、POWER、MOD、DIVIDE、ROUND、ROUNDUP、ROUNDDOWN、LCM、GCD 等。
为了演示 Power BI DAX 数学函数,我们将使用下面显示的数据。正如您所见,此表中共有 15 条记录。

Power BI DAX 数学函数
以下一系列示例展示了 DAX 数学函数的用法
DAX CEILING 函数
Power BI 中的 DAX Ceiling 函数返回大于或等于给定值的最接近值。此 CEILING 函数的语法是
CEILING(Number, significance)
为了演示这些 DAX 数学函数,我们需要使用计算列。要创建列,请点击“主页”选项卡或“建模”选项卡下的“新建列”选项。

从下面的屏幕截图可以看到,我们将默认列名重命名为 CEIL。下面的语句查找大于或等于 Sales 的最接近的整数值
CEILING(EmployeeSales[Sales])

我将此 CEILING 字段添加到我们之前创建的表中。请参考创建表报表文章以了解创建表的步骤

DAX FLOOR 函数
Power BI DAX FLOOR 函数返回小于或等于给定值的最接近值。此 DAX Floor 函数的语法是
FLOOR(expression, significance)
此 DAX 数学函数查找小于或等于 Sales 的最接近值
FLOOR(EmployeeSales[Sales], 1)

DAX ROUND 函数
Power BI DAX ROUND 函数用于将给定值四舍五入到最接近的值。此 DAX Round 函数的语法是
ROUND(expression, significance)
它将 Sales 值四舍五入到最接近的整数
ROUND = ROUND(EmployeeSales[Sales], 0)

Power BI DAX 数学 CURRENCY 函数
DAX CURRENCY 函数将值转换为货币数据类型。此 DAX CURRENCY 函数的语法是
CURRENCY(expression)
它将 Sales 值转换为货币数据类型
Money = CURRENCY(EmployeeSales[Sales])

DAX INT 函数
Power BI 中的 DAX INT 函数将给定值转换为整数数据类型。此 DAX INT 函数的语法是
INT(expression)
DAX INT 函数将 Sales 值转换为整数数据类型
INT = INT(EmployeeSales[Sales])

Power BI DAX 数学 SQRT 函数
Power BI 中的 DAX SQRT 函数返回给定数字的平方根。DAX SQRT 函数的语法如下所示
SQRT(expression)
它返回 Sales 列值的平方根
SQRT = SQRT(EmployeeSales[Sales])

DAX SIGN 函数
DAX SIGN 函数返回给定数字的符号。此函数对于正值返回 1,对于负值返回 -1,对于零返回 0。此 DAX SIGN 函数的语法是
SIGN(expression)
它返回 Service Grade 列值的符号
SIGN = SIGN(EmployeeSales[Service Grade])

DAX EVEN 函数
DAX EVEN 函数返回给定数字的最近偶数整数。此 EVEN 函数的语法是
EVEN(expression)
下面的语句返回 Service Grade 列值的最近偶数整数
EVEN = EVEN(EmployeeSales[Service Grade])

DAX ODD 数学函数
DAX ODD 函数返回给定数字的最近奇数整数。此 ODD 函数的语法是
ODD(expression)
它返回 Service Grade 列值的最近奇数整数
EVEN = EVEN(EmployeeSales[Service Grade])

DAX FACT 数学函数
DAX FACT 函数查找给定数字的阶乘。此 FACT 函数的语法是
FACT(number)
例如,4 的阶乘 = 4 * 3 * 2 * 1 => 24
下面的语句返回年收入除以 1000 的阶乘。
FACT = FACT(EmployeeSales[Yearly Income] / 1000)

DAX POWER 函数
此 DAX 函数查找给定数字的幂。此函数接受第二个参数来指定幂值。此 POWER 函数的语法是
POWER(expression, raise_number)
例如,Power(4, 3) = 4³。
下面的语句计算并返回 Sales 的平方。
POWER = POWER(EmployeeSales[Sales], 2)

DAX DIVIDE 函数
Power BI DAX DIVIDE 函数在 Power BI 中将一个值除以另一个值。如果出现错误或无法除法,则返回 BLANK 值。此 DAX DIVIDE 函数的语法是
DIVIDE(numerator, denominator)
下面的语句将 Sales 列值除以 30
POWER = POWER(EmployeeSales[Sales], 2)

DAX DIVIDE 函数也接受第三个参数。使用此参数为 BLANK 值指定备用数字。
下面的语句将 Sales 列值除以 Grade 列值。如果结果为空,则返回 9。
POWER = POWER(EmployeeSales[Sales], 2)

DAX ABS 函数
Power BI DAX ABS 函数返回绝对正值。此 ABS 函数的语法是
ABS(expression)
它返回 Service Grade 列值的绝对正值
ABS = ABS(EmployeeSales[Service Grade])

DAX MOD 函数
DAX MOD 函数返回数字被除后的余数。此 MOD 函数的语法是
MOD(number, divisor)
例如,MOD(5, 2) = 1。
下面的语句返回 Sales 除以 SQRT 函数结果的余数。
MOD = MOD(EmployeeSales[Sales], EmployeeSales[SQRT])

DAX MROUND 函数
DAX MROUND 函数将数字四舍五入到指定的倍数。此 MRound 函数的语法是
MROUND(expression, multiple)
我们使用的语句是
MROUND = MROUND(EmployeeSales[Sales], 0.05)

Power BI DAX 数学 QUOTIENT 函数
DAX QUOTIENT 函数返回除法结果的整数部分。此 QUOTIENT 函数的语法是
QUOTIENT(numerator, denominator)
下面的语句返回 Sales 除以 Mod 函数结果的整数部分
QUOTIENT = QUOTIENT(EmployeeSales[Sales], EmployeeSales[MOD])

DAX RAND 函数
Power BI DAX RAND 函数返回 0 到 1 之间的随机正数。此 RAND 函数的语法是
RAND()
我将创建一个新列来生成随机值
RAND = RAND()

DAX RANDBETWEEN 函数
Power BI 中的 DAX RANDBETWEEN 函数返回用户指定的开始值和结束值之间的随机数。此 RANDBETWEEN 函数的语法是
RANDBETWEEN(start, end)
我将创建一个新列来生成 10 到 50 之间的随机值
RANDBET = RANDBETWEEN(10, 50)

DAX TRUNC 函数
Power BI DAX TRUNC 函数通过删除小数部分将给定数字截断为整数。此 TRUNC 函数的语法是
TRUNC(number, num_of_digits)
此 DAX 数学函数截断 Sales 列值
TRUNC = TRUNC(EmployeeSales[Sales], 1)

DAX ROUNDDOWN 数学函数
DAX ROUNDDOWN 函数将给定数字向零方向舍去。此 ROUNDDOWN 函数的语法是
ROUNDDOWN(number, num_of_digits)
它将 Sales 列值舍去到小数点后 2 位。
ROUNDDOWN = ROUNDDOWN(EmployeeSales[Sales], -2)

DAX ROUNDUP 数学函数
DAX ROUNDUP 函数将给定数字远离零方向向上舍入。此 ROUNDUP 函数的语法是
ROUNDUP(number, num_of_digits)
下面的语句将 Sales 列值向上舍入到小数点后 2 位(即大于原始值)。
ROUNDUP = ROUNDUP(EmployeeSales[Sales], -2)

DAX LCM 函数
DAX LCM 函数查找多个整数值之间的最小公倍数或最低公倍数。此 Power BI DAX LCM 函数的语法是
LCM(expression1, expression2,.....)
它返回 SQRT 结果和 MOD 函数结果之间的最小公倍数
LCM = LCM(EmployeeSales[SQRT], EmployeeSales[MOD])

Power BI DAX GCD 数学函数
DAX GCD 函数查找多个整数值之间的最大公约数。DAX GCD 函数的语法是
GCD(expression1, expression2,.....)
此 DAX 数学函数返回 SQRT 函数结果和 MOD 结果的最大公约数
GCD = GCD(EmployeeSales[SQRT], EmployeeSales[MOD])
