Kater SQL Functions Calendar comparisons
KATER__SAME_WEEKDAY_LAST_WEEK
The measure for the same day of the week, one week earlier.
Family: Calendar comparisons
Syntax
KATER__SAME_WEEKDAY_LAST_WEEK(measure [, by => date] [, coverage => 'matching_elapsed' | 'full_period'])Arguments
Required
| Argument | Description |
|---|---|
measure | The measure to compare, written bare, without EVAL. |
Optional
| Argument | Description |
|---|---|
by | The date axis to compare along, such as KATER__MONTH(orders.order_date). Left out, it is the one date in GROUP BY. An expression. |
coverage | What the earlier period covers when the query filters the date axis. 'matching_elapsed' takes the same dates, moved back. 'full_period' takes whole periods. One of 'matching_elapsed', 'full_period'. It is 'matching_elapsed' when left out. |
Returns
A number. 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
- It works the measure out again over the source rows of the earlier period. It does not read an earlier row of the result, so a period with no row still has a value.
- The axis is a date at a grain of day.
- A date filter on the axis needs fixed dates at both ends. A moving end, such as
CURRENT_DATE, is refused. - For the change, subtract the call from
EVAL(measure). For the percent change, giveEVAL(measure)and the call toKATER__PERCENT_CHANGE. - In a query, declare it with
CUSTOM_CALCULATION. As aMEASURE, it needsby.
Example
This Sandbox query reads the sample shop’s orders. The table shows the rows that Kater gave.
SELECT orders.order_date AS "Order Date", EVAL(orders.sum__quantity) AS "Units", CUSTOM_CALCULATION( 'same_weekday_last_week__sum__quantity', KATER__SAME_WEEKDAY_LAST_WEEK(orders.sum__quantity, by => orders.order_date) ) AS "Units Week Before"FROM kater_dataset.orders AS ordersWHERE KATER__IS_BETWEEN(orders.order_date, DATE '2026-09-25', DATE '2026-09-30')GROUP BY orders.order_dateORDER BY 1| Order Date | Units | Units Week Before |
|---|---|---|
| 2026-09-25 | 9 | 19 |
| 2026-09-26 | 18 | 35 |
| 2026-09-27 | 17 | 21 |
| 2026-09-28 | 11 | 29 |
| 2026-09-29 | 36 | 11 |
| 2026-09-30 | 9 | 11 |