On this page
Kater SQL Functions Windows
KATER__LEAD
The value from a later row, offset rows on in the OVER's order.
Family: Windows
Syntax
KATER__LEAD(field [, offset]) OVER ([PARTITION BY ...] ORDER BY ...)Arguments
Required
| Argument | Description |
|---|---|
field | The value it reads on each row: a field, or a measure, such as orders.sum__amount. |
Optional
| Argument | Description |
|---|---|
offset | How many rows on. A whole number. It is 1 when left out. |
Returns
A value of the field’s own type. NULL where no row is that far on. The field menu writes the @format of the field it reads beside it, or @format number(2) where that field has none and can have decimals.
Usage notes
- Write
OVER (ORDER BY ...), and addPARTITION BYto start again for each group. It writes its own frame, so itsOVERtakes noROWSorRANGE. - It counts rows, not calendar periods, so a month with no row is skipped.
Example
This Sandbox query reads the sample shop’s orders. The table shows the rows that Kater gave.
SELECT orders.order_month AS "Order Month", EVAL(orders.sum__quantity) AS "Units", CUSTOM_CALCULATION( 'lead__sum__quantity', KATER__LEAD(orders.sum__quantity, 1) OVER (ORDER BY orders.order_month) ) AS "Units Month After"FROM kater_dataset.orders AS ordersWHERE KATER__IS_ON_OR_AFTER(orders.order_date, DATE '2026-05-01')GROUP BY orders.order_monthORDER BY 1| Order Month | Units | Units Month After |
|---|---|---|
| 2026-05-01 | 441 | 403 |
| 2026-06-01 | 403 | 438 |
| 2026-07-01 | 438 | 454 |
| 2026-08-01 | 454 | 442 |
| 2026-09-01 | 442 | null |
Compiles to
The call compiles to the same SQL on DuckDB and on Snowflake.
LEAD(orders.sum__quantity, 1) OVER (ORDER BY orders.order_month)