工作流数学函数
数学函数执行数学计算。数学函数只能与数字数据类型一起使用。
ABS
ABS(x):返回 (x) 的绝对值。这是某数字和 0 的距离。该值始终为正。
示例
Abs(32) 返回 32。
Abs(-32) 返回 32。
ACOS
ACOS(x):返回一个数(x)的反余弦值。反余弦是余弦为 (x) 的角度。
返回的角度以 0(零)到 pi 范围内的弧度表示。
数字 (x) 必须介于 -1 和 1 之间。
示例
ACOS(0.5) 返回 1.047198。
ASIN
ASIN(x):返回一个数(x)的反正弦值。反正弦是正弦为 (x) 的角度。
返回的角度以 -pi/2 到 pi/2 范围内的弧度表示。
数字 (x) 必须介于 -1 和 1 之间。
示例
ASIN(0.5) 返回 0.523599。
ATAN
ATAN(x)返回一个数(x)的反正切值。反正切是正切为 (x) 的角度。返回的角度以 -pi/2 到 pi/2 范围内的弧度表示。
示例
ATAN(0.8) 返回 0.674741。
ATAN2
ATAN2(y, x):返回 y 和 x 的反正切值(即 [y/x] 的反正切值)。
示例
ATAN2(4, –3) 返回 2.2143。
Average
Average(n1, ...):返回一组数字的平均值。NULL 值被视为 0 并在计算平均值时考虑在内。
示例
Average(20,30,55) 返回 35,因为 [(20+30+55)/3]= 35。
AverageNonNull
AverageNonNull(n1, ...):返回一组数字的平均值。计算中不包括 Null 值。该计算仅适用于数字类型的数据。
注意
请注意,AverageNonNull 函数的原理与上述 Average(n1, ...) 函数不同。
AverageNonNull从平均值计算中排除 Null 值。这与汇总工具提供的 Average 操作的行为相同。Average将 null 值视为 0。
因此,这两个函数根据输入的值会返回不同的结果。
示例
AVERAGENONNULL(Null, 1, 1)返回 1(而 Average 函数返回 0.666666666666667,其中将 Null 值视为 0)。AVERAGENONNULL(Null, 1, 2, 3)返回 2(而 Average 函数返回 1.5)。AVERAGENONNULL(Null, 1, 2, 2)返回 1.666666666666667(而 Average 函数返回 1.25)。AVERAGENONNULL(Null, 1.2, 2.345, 3.456789)返回 2.33392966666667(而 Average 函数返回 1.75044725)。AVERAGENONNULL(Null, 1.2, 2.345, 3.456789, Null)返回 2.33392966666667(而 Average 函数返回 1.4003578)。AVERAGENONNULL(Null, Null, Null)返回 Null。当所有值都为 Null 时,结果为 Null。
CEIL
CEIL(x, [mult]):返回一个数值 (x),该值在满足大于或等于 x 的同时,应为 (mult) 的最小倍数。参数 (mult) 必须是大于 0 的数字。如果未指定 (mult),则函数返回大于或等于 (x) 的最小整数。
示例
CEIL(9.567)返回 10(如果我们不提供参数,则该函数默认返回大于或等于 x 的最小整数)。CEIL(123.456, 10)返回 130(向上舍入到最接近的 10 的倍数)。CEIL(–110, 100)返回 -100(向上舍入到最接近的 100 的倍数)。CEIL(123, Null)返回 Null(如果任何参数中存在 Null,则结果为 Null)。CEIL(9.123, 0.01)返回 9.13(向上舍入到最接近的 0.01 的倍数)。CEIL(7, 5)返回 10(向上舍入到最接近的 5 的倍数)。
COS
COS(x):返回给定角度 (x) 的余弦值。x 的单位必须是弧度。
示例
COS(1) 返回 0.54030230586814。
EXP
EXP(x):返回常数 e 的指数 (x) 次方 (e^x)。
FLOOR
FLOOR(x, [mult]):返回一个数值 (x),该值在满足小于或等于 x 同时,应为 (mult) 的最大倍数。参数 (mult) 必须是大于 0 的数字。如果未指定 (mult),函数将返回小于或等于 (x) 的最大整数,如下面第一个示例所示。
示例
FLOOR(4.567)返回 4(如果不提供参数,则该函数默认返回小于或等于 x 的最大整数)。FLOOR(4.567, 0.01)返回 4.56(向下舍入到最大的 0.01 的倍数)。FLOOR(–15.75, 0.1)返回 -15.8(向下舍入到最接近的十分之一)。FLOOR(Null, 10)返回 Null(如果任何参数中存在 Null,则结果为 Null)。FLOOR(13, 5)返回 10(向下舍入到 10,即同时满足小于或等于 13 并是 5 的最大倍数)。
LOG
LOG(x):返回数字 (x) 的自然对数。x 应为正数。
示例
LOG(1)返回 0。LOG(14)返回 2.639057。
LOG10
LOG10(x):返回数字 (x) 的以 10 为底的对数。x 应为正数。
示例
LOG10(1)返回 0。LOG10(14)返回 1.146128。
Median
Median(...):计算一个或多个(可能未排序)值的中值。
注意
此函数不适用于 Live Query for Databricks。
示例
Median (5, 4, 3, 7, 6) 返回 5。
Mod
Mod(n,d):Modulo 是一个数 (n) 除以另一个数 (d) 的整数运算。
求余(取模)运算求取 1 个整数 (n) 除以另一个整数 (d) 的余数。
如果 (n) 为正,则结果为正。
如果 (n) 为负,则结果为负。
如果使用小数值,则小数部分会被截断。如果除数是小于 1 的小数,这可能会导致“除以 0”错误。
示例
MOD(6,4)返回 2。MOD(6,–4)返回 2。MOD(–6,4)返回 -2。MOD(–6,–4)返回 -2。MOD(6,.4)返回 [Null]。
PI
PI():返回 15 位精度的常量 PI(圆周率)的值。
POW
POW(x, e):返回数字 (x) 的 e 次幂。
示例
POW(2, 3) 相当于 23,返回 8。
RAND
RAND():返回一个大于或等于 0 且小于 1 的随机数。
示例
RAND() 返回一个随机数,例如 0.256。
RandInt
RandInt(n):返回 0 和指定参数 (n) 之间的一个随机整数。
示例
RandInt(10)返回 0、1、2、3、4、5、6、7、8、9 或 10。RandInt(5000)返回 0 到 5000 之间的一个随机整数,如 741。
Round
Round(x, mult):返回 x 四舍五入后最接近指定数字 mult 倍数的值。
示例
Round(55.34, 2)返回值 56。Round(39.88, 10)返回值 40。Round(41.1, 10)返回值 40。Round(1.25, 0.1)返回值 1.3。Round(1.227, 0.01)返回值 1.23。
SIN
SIN(x):返回给定角度 (x) 的正弦值。x 的单位必须是弧度。
示例
SIN(90) 返回 0.893996663600558。
SmartRound
SmartRound(x):返回数值 (x),该值已四舍五入到根据 (x) 的大小动态确定的最接近倍数。
SQRT
SQRT(x):返回数字 (x) 的平方根。
示例
SQRT(100) 返回值 10。
TAN
TAN(x):返回给定角度 (x) 的正切值。x 的单位必须是弧度。
示例
TAN(1) 返回 1.5574077246549。
TANH
TANH(x):返回数字 (x) 的双曲正切值。
示例
TANH(90) 返回 1。