divide ↗
Use the divide() function to perform arithmetic division, calculating the quotient of two numbers.
Syntax
divide (<string> | <integer> | <float>, <string> | <integer> | <float>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
numerator |
integer, float, string | Yes | The number to be divided (the dividend). |
denominator |
integer, float, string | Yes | The number by which to divide (the divisor). |
Returns
The divide() function returns the numerical quotient of the two input parameters.
Usage notes
- The function accepts numeric literals (integers, floating-point numbers) or field values that represent numbers.
- The function supports input values provided as a string data type (for example, an integer stored as a string).
- The function can handle negative numbers.
- This function is typically used within the
alterstage to create or modify fields.
Examples
Example 1: Dividing an integer field by an integer literal
Goal: Calculate a new field by dividing an existing integer field (event_id) by a fixed integer value.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter divided_event_id = divide(event_id, 2) | fields event_id, divided_event_id | limit 3
Explanation: This query calculates a new field, divided_event_id, by dividing each event_id (an integer) by 2.
Output:
| event_id | divided_event_id |
|---|---|
| 101 | 50.5 |
| 102 | 51.0 |
| 103 | 51.5 |
Example 2: Dividing a floating-point field by an integer literal
Goal: Calculate a new field by dividing a floating-point field (duration_seconds) by an integer literal.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter divided_duration = divide(duration_seconds, 5) | fields event_id, duration_seconds, divided_duration | limit 3
Explanation: This query divides duration_seconds (which contains decimal values) by 5, producing a new floating-point value in divided_duration.
Output:
| event_id | duration_seconds | divided_duration |
|---|---|---|
| 101 | 1.5 | 0.3 |
| 102 | 0.8 | 0.16 |
| 103 | 10.2 | 2.04 |
Example 3: Dividing a floating-point field by a floating-point literal
Goal: Divide a floating-point number field by a decimal literal.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter precise_division = divide(duration_seconds, 0.25) | fields event_id, duration_seconds, precise_division | limit 3
Explanation: This query divides duration_seconds by 0.25, resulting in precise_division which will also be a floating-point number.
Output:
| event_id | duration_seconds | precise_division |
|---|---|---|
| 101 | 1.5 | 6.0 |
| 102 | 0.8 | 3.2 |
| 103 | 10.2 | 40.8 |
Example 4: Dividing a numeric literal by a negative literal
Goal: Perform division using a negative literal value.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter negative_literal_division = divide(100, -4) | fields event_id, negative_literal_division | limit 3
Explanation: This query divides the positive literal 100 by the negative literal -4, producing a constant -25.0 for the negative_literal_division field across all records.
Output:
| event_id | negative_literal_division |
|---|---|
| 101 | -25.0 |
| 102 | -25.0 |
| 103 | -25.0 |
Example 5: Dividing a string-converted-to-number field
Goal: Divide a numeric value that was extracted as a string from a JSON field and converted to a number.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | filter simple_json_data != null | alter json_code_string = simple_json_data -> code | alter json_code_number = to_number(json_code_string) | alter divided_json_code = divide(json_code_number, 100) | fields event_id, simple_json_data, json_code_number, divided_json_code | limit 3
Explanation: The query extracts the code "200" as a string, converts it to a number, and then divides it by 100, resulting in divided_json_code of 2.0. Records where the field is null will result in NULL.
Output:
| event_id | simple_json_data | json_code_number | divided_json_code |
|---|---|---|---|
| 101 | {"status": "ok", "code": 200} | 200 | 2.0 |
| 102 | {"status": "fail", "error": "access_denied"} | NULL | NULL |
| 103 | {"connection_id": "CONN-001", "protocol": "TCP"} | NULL | NULL |