tan ↗
Use the tan() function to calculate the tangent of a numeric value specified in radians.
Syntax
tan(<numeric_expression>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
numeric_expression |
integer, float | Yes | The angle in radians for which to calculate the tangent. Any real number is valid, though the tangent is undefined at odd multiples of p/2. |
Returns
Type: float
Description: The tan() function returns the tangent of the input angle. The result can be any real number. If the input is null, the function returns null.
Usage notes
- Input type: XQL doesn't support NaN or infinite values as input and these value types also can not be returned.
- Valid Input Range: The
tan()function accepts any real number as input. The input is interpreted as an angle in radians. - Undefined Values: At odd multiples of p/2 (for example, p/2, 3p/2), the tangent is mathematically undefined and the function may return a very large number,
infinity, orNaN. - Null Handling: If the input expression is
null, the function returnsnull. - Degrees to Radians: If your input is in degrees, convert it to radians first by multiplying by
PI() / 180. - Periodicity: The tangent function is periodic with period p, meaning
tan(x) = tan(x + p). - Key Values:
tan(0)returns0.0,tan(p/4)returns1.0,tan(p)returns0.0. - Symmetry: The function is odd, meaning
tan(-x) = -tan(x). - Common Use Cases: This function is typically used within the
alterstage for trigonometric calculations, slope computations, angle analysis, and engineering formulas.
Examples
Example 1: Calculate tangent of literal values
Goal: Calculate the tangent for specific radian values to verify known mathematical results.
XQL code:
dataset = xdr_data | limit 1 | alter result1 = tan(0), result2 = tan(divide(pi(), 4)), result3 = tan(pi()) | fields result1, result2, result3
Explanation: tan(0) returns 0.0, tan(p/4) returns 1.0 (since sine and cosine are equal at p/4), and tan(p) returns approximately 0.0.
Output:
| RESULT1 | RESULT2 | RESULT3 |
|---|---|---|
| 0.0 | 1.0 | 0.0 |
Example 2: Calculate tangent from a field value
Goal: Calculate the tangent of values stored in a dataset field, treating them as angles in radians.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter tan_val = tan(numeric_value) | fields event_id, numeric_value, tan_val | limit 3
Explanation: This query computes the tangent for each value in the numeric_value field and stores the result in tan_val. Since tan() accepts any real number, no filtering is needed.
Output:
| EVENT_ID | NUMERIC_VALUE | TAN_VAL |
|---|---|---|
| 101 | 0.0 | 0.0 |
| 102 | 0.7854 | 1.0 |
| 103 | 1.0 | 1.55741 |
Example 3: Calculate slope angle from rise and run
Goal: Use the tangent function to verify a slope calculation by computing tan(atan(rise/run)).
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | filter duration_seconds > 0 | alter slope = divide(numeric_value, duration_seconds) | alter angle = atan(slope) | alter tan_angle = tan(angle) | fields event_id, numeric_value, duration_seconds, slope, tan_angle | limit 3
Explanation: This query calculates the slope as numeric_value / duration_seconds, then computes the angle using atan(), and finally verifies by computing tan() of that angle. The tan_angle should match the original slope, confirming the identity tan(atan(x)) = x.
Output:
| EVENT_ID | NUMERIC_VALUE | DURATION_SECONDS | SLOPE | TAN_ANGLE |
|---|---|---|---|---|
| 101 | 3.0 | 4.0 | 0.75 | 0.75 |
| 102 | 5.0 | 1.0 | 5.0 | 5.0 |
| 103 | 10.0 | 10.0 | 1.0 | 1.0 |