range
function in APL to create a dynamic array of evenly spaced values. You can generate numeric, datetime, or timespan sequences that increase by a constant step, which defaults to 1 for numbers and 1 hour for time-based types. The function stops once the value exceeds the specified endpoint or the maximum result size.
range
is useful when you want to produce test values, synthetic sequences, time intervals, or loop-like constructs without relying on input data. It helps you populate arrays that can be expanded or joined with real data for further analysis.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.Splunk SPL users
Splunk SPL users
In SPL, generating sequences often involves
makeresults
combined with streamstats
or manual iteration logic. APL’s range
function simplifies this by producing arrays of equally spaced values directly.ANSI SQL users
ANSI SQL users
In ANSI SQL, generating a series of numbers usually involves recursive CTEs. APL’s
range
is more concise and efficient for creating sequences without writing complex recursion logic.Usage
Syntax
Parameters
Name | Type | Required | Description |
---|---|---|---|
start | scalar (number, datetime, timespan) | ✔️ | First value in the array. |
stop | scalar (same type as start ) | ✔️ | Upper bound of the array. The last value is less than or equal to stop . |
step | scalar (same type as start ) | Difference between values. Defaults to 1 (numeric) or 1h (time). |
Returns
A dynamic array that includes values starting atstart
, incremented by step
, up to and including stop
(if it aligns exactly with a step). The array truncates if it reaches the system limit of 1,048,576 elements.
Use case examples
Generate an array of durations to help classify HTTP request latencies.QueryRun in PlaygroundOutputThis creates an array of thresholds that you can use to bucket or filter request durations in
['sample-http-logs']
.