Skip to main content

工作流数学函数

数学函数执行数学计算。数学函数只能与数字数据类型一起使用。

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。