Skip to main content

firstNonNull

Description

Return the first non-null value from a list of arguments, in the order they are provided.

Note

Works only on scalar values such as number, string, or timestamp. Does not work on objects.

Syntax

Like many functions in DataPrime, firstNonNull supports two notations, function and method. These interchangeable forms allow flexibility in how you structure expressions.

firstNonNull(value: T, ...values: T): T

Arguments

NameTypeRequiredDescription
valueTtrueThe first argument to check for a non-null value
...valuesTtrueSubsequent arguments to check, in order

Example

Use case: Consolidate inconsistent field names for the same logical value

Logs may contain a user identifier under different field names (userId, user_id, user_identifier). Instead of writing complex conditionals, firstNonNull returns the first populated value across these fields, creating schema-on-read consistency.

Example data

{
"userId": "123",
"user_id": null,
"user_identifier": null
},
{
"userId": null,
"user_id": "456",
"user_identifier": null
},
{
"userId": null,
"user_id": null,
"user_identifier": "789"
}

Example query

choose canonical_user_id from firstNonNull(userId, user_id, user_identifier)

Example output

{
"canonical_user_id": "123"
},
{
"canonical_user_id": "456"
},
{
"canonical_user_id": "789"
}
Last updated on
Was this page helpful?