Shape · Rows
Generate Rows
Repeats each row once per value of a range, such as 1 to a count column or a start date to an end date, and adds the generated value as a column. For a sequence with no input, use Generate Series.
Also known as: Expand rows, one row per day, repeat rows
How it works
Kind is Integer, Date or Timestamp. Start, End and Step are each a fixed Value or a Column of the row; a fresh node starts at 1, steps by 1 and takes End from a column. Include end, on by default, keeps the end value in the range. Every input row is repeated once per value, keeping its other columns, and the value lands in Output column, Generated Row by default; a name that already exists keeps the input column and the new one becomes <name>_1. A date step is an interval such as 1 day or 1 month. A row whose bound is NULL, or whose step column is 0, produces no rows and is counted in a warning. For a sequence with no input use Generate Series.
Inputs and outputs
Inputs
data— Table
Outputs
data— Table
Settings
The Attributes panel of Generate Rows, as in the app: the controls work, but nothing runs — there is no data behind it.
The same settings, as the Assistant writes them
{
kind: "integer" | "date" | "timestamp"
start: {mode:"constant"|"column", value}
end: {mode, value}
step: {mode, value}
includeEnd: boolean
outputColumn?: string
}a constant value is a number (integer) or a date/timestamp literal; a date step is a constant interval like "1 day" / "1 month"; includeEnd=false excludes the end
Example
One row per night of each hotel booking: Kind Date, Start Column check_in, End Column check_out, Step Value 1 day, Include end off, Output column night.
| booking | check_in | check_out | night |
|---|---|---|---|
| B1 | 2026-03-01 | 2026-03-03 | 2026-03-01 |
| B1 | 2026-03-01 | 2026-03-03 | 2026-03-02 |