Functions executing mathematical calculations.
Returns the absolute value of numeric_expression
. Returns NULL if numeric_expression
evaluates to NULL.
abs(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the absolute value.
required
The data type of the returned value is double
, long
, or duration
.
data record(x = -42.13),record(x = 0),record(x = 6.8545)| fieldsAdd abs(x)
Query result:
x
abs(x)
-42.13
42.13
0
0
6.8545
6.8545
Computes arc cosine of expression
. The returned angle is in the range 0.0
through pi. Returns null
if expression
evaluates to NULL.
acos(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the acos.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd acos(x)
Query result:
x
acos(x)
-1
3.1416
0
1.5708
1
0
Computes arc sine of expression
. The returned angle is in the range -pi/2
through pi/2
. Returns null
if <expression>
evaluates to NULL.
asin(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the asin.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd asin(x)
Query result:
x
asin(x)
-1
-1.5708
0
0
1
1.5708
Computes the arc tangent of expression
. The returned angle is in the range -p/2
through pi/2
. Returns null
if expression
evaluates to NULL.
atan(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the atan.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd atan(x)
Query result:
x
atan(x)
-1
-0.7854
0
0
1
0.7854
Computes the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta). Returns null
if either of the expressions evaluates to NULL.
atan2(ordinate, abscissa)
Parameter
Type
Description
Required
ordinate
double, long
The ordinate coordinate.
required
abscissa
double, long
The abscissa coordinate.
required
The data type of the returned value is double
.
data record(x = 1, y = 1),record(x = 2, y = 3),record(x = 4, y = 5)| fieldsAdd atan2(x, y)
Query result:
x
y
atan2(x, y)
1
1
0.7854
2
3
0.588
4
5
0.6747
Rounds values down to a multiple of a given numeric bin
size.
Used frequently in combination with summarize , by: ....
. If it encounters a scattered set of values, they will be grouped into a smaller set of specific values.
bin(expression, interval)
Parameter
Type
Description
Required
expression
timestamp, long, double, duration
The expression that should be aligned.
required
interval
duration, double, long
The interval by which to align the expression. Constraints: statically evaluated.
required
at
timestamp, number, duration
The offset to which each interval should be shifted. Default: 0. Constraints: The offset to which each interval should be shifted.
optional
The data type of the returned value is double
, long
, duration
, or timestamp
.
data record(x = -42.13),record(x = 0),record(x = 6.8545),record(x = 27)| fieldsAdd bin(x, 10), bin(x, 10, at:5)
Query result:
x
bin(x, 10)
bin(x, 10, at:5)
-42.13
-50
-45
0
0
-5
6.8545
0
5
27
20
25
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400")),record(timestamp = toTimestamp("2022-12-24T18:13:23.672-0400")),record(timestamp = toTimestamp("2023-01-27T23:21:11.459-0400"))| fieldsAdd bin(timestamp, 1m), bin(timestamp, 1d)
Query result:
timestamp
bin(timestamp, 1m)
bin(timestamp, 1d)
2019-08-01T13:30:00.000Z
2019-08-01T13:30:00.000Z
2019-08-01T00:00:00.000Z
2022-12-24T22:13:23.672Z
2022-12-24T22:13:00.000Z
2022-12-24T00:00:00.000Z
2023-01-28T03:21:11.459Z
2023-01-28T03:21:00.000Z
2023-01-28T00:00:00.000Z
In this example, we align the timestamp
to noon.
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd bin(timestamp, 1d, at: 12h)
Query result:
timestamp
bin(timestamp, 1d, at:12h)
2019-08-01T13:30:00.000Z
2019-08-01T12:00:00.000Z
Calculates the smallest (closest to negative infinity) double
value greater than or equal to the numeric_expression
; is equal to a mathematical integer. Returns null
if numeric_expression
evaluates to NULL. The return type is of the same type as the input parameter.
ceil(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression to be rounded up.
required
The data type of the returned value is double
or long
.
data record(x = -0.5),record(x = 0),record(x = 0.5)| fieldsAdd ceil(x)
Query result:
x
ceil(x)
-0.5
0
0
0
0.5
1
Computes the trigonometric cosine of an angle expression
(in radians). Returns null
if expression
evaluates to NULL.
cos(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the sin.
required
The data type of the returned value is double
.
data record(x = -pi()),record(x = 0),record(x = pi())| fieldsAdd cos(x)
Query result:
x
cos(x)
-3.1416
-1
0
1
3.1416
-1
Computes the hyperbolic cosine of an angle <expression>
. Returns null
if <expression>
evaluates to NULL.
cosh(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the cosh.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd cosh(x)
Query result:
x
cosh(x)
-1
1.5431
0
1
1
1.5431
Calculates the real cubic root of a numeric expression.
cbrt (numeric_expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the real cubic root.
required
The data type of the returned value is double
.
data record(x = -8),record(x = -42.13),record(x = 0),record(x = 6.8545)| fieldsAdd cbrt(x)
Query result:
x
cbrt(x)
-8
-2
-42.13
-3.4796
0
0
6.8545
1.8996
Converts the numeric expression of an angle in degrees to an approximately equivalent angle as expressed in radians. Returns null
if numeric_expr
evaluates to NULL.
degreeToRadian(expression)
Parameter
Type
Description
Required
expression
double, long
The angle to be converted from radians to degrees.
required
The data type of the returned value is double
.
data record(degree = 90),record(degree = 180)| fieldsAdd degreeToRadian(degree)
Query result:
degree
degreeToRadian(degree)
90
1.5708
180
3.1416
Returns Euler’s number.
e()
The data type of the returned value is double
.
data record()| fieldsAdd e()
Query result:
e()
2.7183
Calculates the exponential function e^x
, where e
is the Euler's number and x
is a numeric expression.
exp(expression)
Parameter
Type
Description
Required
expression
double, duration, long
The numeric expression for which to calculate the exponential function.
required
The data type of the returned value is double
.
data record(x = 1),record(x = 4)| fieldsAdd exp(x)
Query result:
x
exp(x)
1
2.7183
4
54.5982
Calculates the largest (closest to positive infinity) double
value less than or equal to the numeric_expression
; and is equal to a mathematical integer. Returns NULL if numeric_expression
evaluates to NULL. The return type is of the same type as the input parameter.
floor(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression to be rounded down.
required
The data type of the returned value is double
orlong
.
data record(x = -0.5),record(x = 0),record(x = 0.5)| fieldsAdd floor(x)
Query result:
x
floor(x)
-0.5
-1
0
0
0.5
0
Returns sqrt(x^2 + y^2)
. Returns null
if expression
evaluates to NULL.
hypotenuse(x, y)
Parameter
Type
Description
Required
x
double, long
Length of the first of the catheti.
required
The data type of the returned value is double
.
data record(x = 1, y = 2),record(x = 3, y = 4),record(x = 5, y = 6)| fieldsAdd hypotenuse(x, y)
Query result:
x
y
hypotenuse(x, y)
1
2
2.2361
3
4
5
5
6
7.8102
Calculates the natural logarithm (the base is e
, the Euler's number) of a numeric expression.
log(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the natural logarithm (base e).
required
The data type of the returned value is double
.
data record(x = e()),record(x = 0),record(x = 1),record(x = 6.8545)| fieldsAdd log(x)
Query result:
x
log(x)
2.7183
1
0
null
1
0
6.8545
1.9249
Calculates log(1+x), where log
is the natural logarithm and x
is a numeric expression.
log1p(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to add one and calculate the natural logarithm (base e).
required
The data type of the returned value is double
.
data record(x = 0),record(x = 6.8545)| fieldsAdd log1p(x)
Query result:
x
log1p(x)
0
0
6.8545
2.0611
Calculates the decadic (common) logarithm (the base is 10) of a numeric expression.
log10(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the decadic logarithm (base 10).
required
The data type of the returned value is double
.
data record(x = 6.8545),record(x = 100)| fieldsAdd log10(x)
Query result:
x
log10(x)
6.8545
0.836
100
2
Returns the constant value of PI (Archimedes’ number).
pi()
The data type of the returned value is double
.
data record()| fieldsAdd pi()
Query result:
pi()
3.1416
Raises a numeric expression to a given power.
power(base, exponent)
Parameter
Type
Description
Required
base
double, long
The numeric expression acting as the base of the power calculation.
required
exponent
double, long
The numeric expression acting as the exponent of the power calculation.
required
The data type of the returned value is double
.
data record(base = 2, exponent = 4),record(base = 3, exponent = 5)| fieldsAdd power(base, exponent)
Query result:
base
exponent
power(base, exponent)
2
4
16
3
5
243
Converts the numeric expression of an angle in radians to an approximately equivalent angle as expressed in degrees. Returns null
if numeric_expr
evaluates to NULL.
radianToDegree(numeric_expr)
Parameter
Type
Description
Required
expression
double, long
The angle to be converted from radians to degrees.
required
The data type of the returned value is double
.
data record(radian = pi() / 2),record(radian = pi())| fieldsAdd radianToDegree(radian)
Query result:
radian
radianToDegree(radian)
1.5708
90
3.1416
180
Creates a random double value. Generated values aren't deterministic. The value range of the generated double value is between 0.0 (inclusive) and 1.0 (exclusive).
random()
The data type of the returned value is double
.
data record()| fieldsAdd random()
Query result:
random()
0.563
Aligns the given value/timestamp to value range based on the provided alignment parameter. The range
function is similar to the bin
function, but produces a range instead, then provides information about the start and the end of the bin the value is aligned to.
range(expression, interval [, at])
Parameter
Type
Description
Required
expressions
expressions
The numeric, timestamp or duration expression that should be aligned into bins.
required
interval
expression
The size of bins produced and the values that are aligned to it. Constraints: numeric_expression, duration_expression.
required
at
expression
The starting value for the first bin that is produced. Default: 0, EPOCH.
optional
The data type of the returned value is record
.
data record(x = -42.13),record(x = 0),record(x = 6.8545),record(x = 27)| fieldsAdd range(x, 10),range(x, 10, at: 5)
Query result:
x
range(x, 10)
range(x, 10, at:5)
-42.13
start: -50
end: -40
start: -45
end: -35
0
start: 0
end: 10
start: -5
end: 5
6.8545
start: 0
end: 10
start: 5
end: 15
27
start: 20
end: 30
start: 25
end: 35
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400")),record(timestamp = toTimestamp("2022-12-24T18:13:23.672-0400")),record(timestamp = toTimestamp("2023-01-27T23:21:11.459-0400"))| fieldsAdd range(timestamp, 1m),range(timestamp, 1d)
Query result:
timestamp
range(timestamp, 1m)
range(timestamp, 1d)
2019-08-01T13:30:00.000Z
start: 2019-08-01T13:30:00.000Z
end: 2019-08-01T13:31:00.000Z
start: 2019-08-01T00:00:00.000Z
end: 2019-08-02T00:00:00.000Z
2022-12-24T22:13:23.672Z
start: 2022-12-24T22:13:00.000Z
end: 2022-12-24T22:14:00.000Z
start: 2022-12-24T00:00:00.000Z
end: 2022-12-25T00:00:00.000Z
2023-01-28T03:21:11.459Z
start: 2023-01-28T03:21:00.000Z
end: 2023-01-28T03:22:00.000Z
start: 2023-01-28T00:00:00.000Z
end: 2023-01-29T00:00:00.000Z
data record(timestamp = toTimestamp("2019-08-01T09:30:00.000-0400"))| fieldsAdd bin(timestamp, 1d, at: 12h)
Query result:
timestamp
bin(timestamp, 1d, at:12h)
2019-08-01T13:30:00.000Z
2019-08-01T12:00:00.000Z
Rounds any numeric value to the specified number of decimal places. If you don't specify the number of decimal places, it rounds to the nearest integer. The return type is of the same type as the input parameter.
round(expression [, decimals])
Parameter
Type
Description
Required
expression
double, long
Numeric expression to be rounded.
required
decimals
long
Number of places after the decimal point.
optional
The data type of the returned value is double
or long
.
data record(x = -0.5),record(x = 0),record(x = 0.5),record(x = 0.55)| fieldsAdd round(x),round(x, decimals: 1)
Query result:
x
round(x)
round(x, decimals:1)
-0.5
0
-0.5
0
0
0
0.5
1
0.5
0.55
1
0.6
Returns the signum
(sign) result of an argument. It returns one of four possible values: -1
(if numeric_expression
evaluates to a value less than 0
), 0
(if numeric_expression
evaluates to 0
), 1
(if numeric_expression
evaluates to a value greater than 0
), or null
(if numeric_expression
evaluates to NULL).
The return type is of the same type as the input parameter.
signum(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the signum.
required
The data type of the returned value is double
or long
.
data record(x = -42.13),record(x = 0),record(x = 6.8545)| fieldsAdd signum(x)
Query result:
x
signum(x)
-42.13
-1
0
0
6.8545
1
Computes the trigonometric sine of angle <expression>
(in radians). Returns null
if <expression>
evaluates to NULL.
sin(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the sin.
required
The data type of the returned value is double
.
data record(x = -pi() / 2),record(x = 0),record(x = pi() / 2)| fieldsAdd sin(x)
Query result:
x
sin(x)
-1.5708
-1
0
0
1.5708
1
Computes the hyperbolic sine of <expression>
. Returns null
if <expression>
evaluates to NULL.
sinh(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the sinh.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd sinh(x)
Query result:
x
sinh(x)
-1
-1.1752
0
0
1
1.1752
Computes the positive square root of a numeric expression.
sqrt(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression for which to calculate the square root.
required
The data type of the returned value is double
.
data record(x = 4),record(x = 81),record(x = -14)| fieldsAdd sqrt(x)
Query result:
x
sqrt(x)
4
2
81
9
-14
null
Computes the trigonometric tangent of angle expression
(in radians). Returns null
if expression
evaluates to NULL.
tan(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the tan.
required
The data type of the returned value is double
.
data record(x = -pi() / 4),record(x = 0),record(x = pi() / 4)| fieldsAdd tan(x)
Query result:
x
tan(x)
-0.7854
-1
0
0
0.7854
1
Computes the hyperbolic tangent of expression
. Returns null
if expression
evaluates to NULL.
tanh(expression)
Parameter
Type
Description
Required
expression
double, long
The numeric expression, angle in radians for which to calculate the tanh.
required
The data type of the returned value is double
.
data record(x = -1),record(x = 0),record(x = 1)| fieldsAdd tanh(x)
Query result:
x
tanh(x)
-1
-0.7616
0
0
1
0.7616