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