isnan
isnan is essential for data quality work. Operations such as log of a negative number, sqrt of a negative number, or 0 / 0 produce NaN in APL. Use isnan to detect and filter these invalid values before aggregating, charting, or alerting on your data.
Usage#
Syntax#
isnan(x)Parameters#
| Name | Type | Required | Description |
|---|---|---|---|
x |
real | Yes | The numeric value to check. |
Returns#
true if x is NaN. false for finite values and infinity.
List of related functions#
- isfinite: Returns
truefor values that are neither infinite nor NaN. Use it for a combined check covering all invalid float states. - isinf: Returns
trueonly for infinite values. Use it alongsideisnanto cover all edge cases. - isint: Returns
truefor integer values. Use it for whole-number validation rather than float validity. - log: Returns the natural logarithm. Use
isnanto catch NaN results whenlogis applied to non-positive values. - sqrt: Returns the square root. Use
isnanto detect NaN results fromsqrton negative inputs.
Other query languages#
Splunk SPL users
Splunk SPL includes the isnan() function, which works the same way as in APL: it returns true (1) when the value is NaN.
Splunk example
| eval is_nan = isnan(value)APL equivalent
['sample-http-logs']
| extend is_nan = isnan(value)ANSI SQL users
Standard SQL does not define an ISNAN() function. In most dialects, NaN is not a concept; division by zero raises an error instead. However, some databases (such as PostgreSQL) do support NaN as a float value, and you check for it with value = 'NaN'.
SQL example
SELECT CASE WHEN value = 'NaN' THEN 1 ELSE 0 END AS is_nan FROM logsAPL equivalent
['sample-http-logs']
| extend is_nan = isnan(value)