The isarray function in APL checks whether a specified value is an array. Use this function to validate input data, handle dynamic schemas, or filter for records where a field is explicitly an array. It is particularly useful when working with data that contains fields with mixed data types or optional nested arrays.

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.
In Splunk SPL, similar functionality is achieved by analyzing the data structure manually, as SPL does not have a direct equivalent to isarray. APL simplifies this task by providing the isarray function to directly evaluate whether a value is an array.
| eval is_array=if(isnotnull(mvcount(field)), "true", "false")
In ANSI SQL, there is no built-in function for directly checking if a value is an array. You might need to rely on JSON functions or structural parsing. APL provides the isarray function as a more straightforward solution.
SELECT CASE
         WHEN JSON_TYPE(field) = 'ARRAY' THEN TRUE
         ELSE FALSE
       END AS is_array
FROM dataset_name;

Usage

Syntax

isarray(value)

Parameters

ParameterDescription
valueThe value to check if it is an array.

Returns

A boolean value:
  • true if the specified value is an array.
  • false otherwise.

Use case example

Filter for records where the events field contains an array. Query
['otel-demo-traces']
| take 50
| summarize events_array = make_list(events)
| extend is_array = isarray(events_array)
Run in Playground Output
is_array
true