Pivot functions are only available when your query includes a pivoted dimension.
pivot_column
Returns the 0-based index of the current pivot column.Compiled SQL
Compiled SQL
pivot_offset
Returns the value of an expression from a pivot column at a relative offset from the current column.
Returns
NULL if the target column is not adjacent (e.g., if intermediate columns were filtered out).
Example
Compare the current pivot column’s revenue against the previous pivot column:
Compiled SQL
Compiled SQL
For negative offsets (previous columns):For positive offsets (next columns),
LEAD is used instead of LAG.For an offset of 0, the expression is returned directly with no window function.Each call includes an adjacency guard — a CASE WHEN check that verifies the target column is actually adjacent. This prevents incorrect values when pivot columns have been filtered out and are non-contiguous.pivot_index
Returns the value of an expression from a specific pivot column by its 0-based index.
Example
Compare every pivot column’s revenue against the first pivot column’s revenue:
Compiled SQL
Compiled SQL
pivot_where
Finds the first pivot column where a condition is true and returns a value from that column.
If multiple columns match, the value from the column with the lowest index is returned.
Example
Find the revenue from the first pivot column where the count exceeds 100:
Compiled SQL
Compiled SQL
pivot_row
Returns an array of all values across the pivot columns for the current row.
Example
Get all pivoted revenue values for the current row:
Compiled SQL
Compiled SQL
pivot_offset_list
Returns an array of values from consecutive pivot columns starting at a relative offset from the current column.
Values are returned as
NULL when the offset points to a non-adjacent pivot column (e.g., if columns were filtered out).
Example
Get the current and two previous pivot column values:
Compiled SQL
Compiled SQL
CASE WHEN check that verifies the target column is actually adjacent. This prevents incorrect values when pivot columns have been filtered out and are non-contiguous.