ceil ↗
Use the ceil() function to convert a field containing a number and return an integer rounded up to the nearest whole number.
Syntax
ceil (<number>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
number |
integer, float | Yes | The numeric value to round up. |
Returns
The ceil() function returns an integer representing the input number rounded up to the nearest whole number.
Usage notes
- The function accepts a field that contains a number, meaning it can take integers or floating-point numbers as input.
- The function explicitly rounds the number up to the nearest whole integer.
- For positive numbers, this behavior rounds up past the decimal part (for example, 1.1 becomes 2).
- For negative numbers, it rounds toward zero (for example, -2.5 becomes -2).
Examples
Example 1: Round up positive floating-point field
Goal: Round the duration_seconds field up to the nearest integer.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter ceiled_duration = ceil(duration_seconds) | fields event_id, duration_seconds, ceiled_duration | limit 3
Explanation: This query creates a new field, ceiled_duration, by taking the duration_seconds (for example, 1.5, 0.8) and rounding it up. For 1.5, it becomes 2; for 0.8, it becomes 1.
Output:
| EVENT_ID | DURATION_SECONDS | CEILED_DURATION |
|---|---|---|
| 101 | 1.5 | 2 |
| 102 | 0.8 | 1 |
| 103 | 10.2 | 11 |
Example 2: Round up calculated floating-point value
Goal: Round the result of a division operation on an integer field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter divided_event_id = divide(event_id, 3) | alter ceiled_divided_id = ceil(divided_event_id) | fields event_id, divided_event_id, ceiled_divided_id | limit 3
Explanation: Here, event_id (for example, 101) is divided by 3, resulting in 33.666.... The ceil() function then rounds this up to 34.
Output:
| EVENT_ID | DIVIDED_EVENT_ID | CEILED_DIVIDED_ID |
|---|---|---|
| 101 | 33.666666 | 34 |
| 102 | 34.0 | 34 |
| 103 | 34.333333 | 35 |
Example 3: Round up negative number
Goal: Round a negative floating-point number to demonstrate rounding towards zero.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter negative_value = subtract(0, duration_seconds) | alter ceiled_negative = ceil(negative_value) | fields event_id, duration_seconds, negative_value, ceiled_negative | limit 3
Explanation: This query negates the duration_seconds field and then applies ceil(). For a negative value like -1.5, ceil() rounds toward zero, resulting in -1. For -0.8, it becomes 0.
Output:
| EVENT_ID | DURATION_SECONDS | NEGATIVE_VALUE | CEILED_NEGATIVE |
|---|---|---|---|
| 101 | 1.5 | -1.5 | -1 |
| 102 | 0.8 | -0.8 | 0 |
| 103 | 10.2 | -10.2 | -10 |
Example 4: Round up number extracted from JSON
Goal: Round a numeric value extracted from a JSON field.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | filter event_id = 110 | alter json_size_string = simple_json_data -> size_gb | alter json_size_number = to_number(json_size_string) | alter ceiled_json_size = ceil(json_size_number) | fields event_id, simple_json_data, json_size_number, ceiled_json_size | limit 1
Explanation: This query extracts the size_gb value from the simple_json_data field (for example, "500" for event_id 110). The query then converts this string to a number and applies ceil(), which for an integer like 500 would result in 500.
Output:
| EVENT_ID | SIMPLE_JSON_DATA | JSON_SIZE_NUMBER | CEILED_JSON_SIZE |
|---|---|---|---|
| 110 | {"backup_id": "DB-005", "size_gb": 500} | 500 | 500 |