Skip to main content
Use the isfinite function in APL to check whether a numeric value is finite, meaning it’s neither positive infinity, negative infinity, nor NaN (Not a Number). The function returns true for any real number that has a well-defined, bounded value. isfinite is essential for data quality checks. Division by zero, logarithm of a non-positive number, or other edge cases can produce infinity or NaN in your computed columns. Use isfinite to identify or filter these invalid values before aggregating or visualizing data.

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 doesn’t have a direct isfinite() function. You typically check for null or use isnum() to verify that a value is a valid number, but these checks don’t cover infinity.
| eval is_valid = if(isnum(value) AND value != 'Infinity', 1, 0)
Standard SQL does not define an ISFINITE() function. You typically check for IS NOT NULL and whether the value falls within a valid range, but you cannot directly detect infinity in most SQL dialects.
SELECT CASE WHEN value IS NOT NULL AND value BETWEEN -1e308 AND 1e308 THEN 1 ELSE 0 END AS is_valid FROM logs

Usage

Syntax

isfinite(x)

Parameters

NameTypeRequiredDescription
xrealYesThe numeric value to check.

Returns

true if x is a finite real number (not infinity and not NaN). false otherwise.

Example

Use isfinite to check whether a computed value is finite before using it in aggregations. Query
['sample-http-logs']
| extend log_duration = log(req_duration_ms)
| extend is_valid = isfinite(log_duration)
| project _time, id, req_duration_ms, log_duration, is_valid
Run in Playground Output
_timeidreq_duration_mslog_durationis_valid
2024-11-14 10:00:00user-1120.04.7875true
2024-11-14 10:01:00user-20.0-inffalse
2024-11-14 10:02:00user-380.04.3820true
  • isinf: Returns true only for infinite values. Use it when you want to distinguish infinity from NaN.
  • isnan: Returns true only for NaN values. Use it when you want to detect only Not-a-Number results.
  • isint: Returns true for integer values. Use it to check whether a numeric value is an integer rather than a floating-point result.
  • log: Returns the natural logarithm. Combine with isfinite to validate log computations on potentially non-positive inputs.
  • gamma: Returns the gamma function. Use isfinite to filter out overflow results when computing gamma on large values.