Browse the docs
Preparation node

Generate Rows

Synthesize rows from nothing: a sequence of numbers, dates or date-times.

Category
Preparation

What it does

A source that builds one column out of nothing: a row count, a number range, or a range of dates or timestamps. There is no input; the rows are synthesized straight from the settings. It's how you make a calendar spine to join real data onto, so gaps show up as gaps rather than as missing rows.

Inputs and outputs

InputsNone. This node starts a pipeline.
OutputsOne.

When to use it

  • Create a calendar or date spine to join activity onto
  • Generate a numeric sequence: buckets, test ids, a scale
  • Make a fixed number of placeholder rows to build on

Examples

100 numbered rows

Row count: 100

Rows numbered 1 to 100.

Even numbers

Number range: 0 to 100, step 2

Stops at or before the end value; it never overshoots.

A year of dates

Date range: 2026-01-01 to 2026-12-31, step 1 day

The calendar spine: join sales onto it and the empty days stay in the result instead of disappearing.

Hourly timestamps

Date-time range: step 1 hour

For bucketing events into hours without losing the quiet ones.

Count down

Number range: 10 to 1, step -1

A negative step counts down.

Tips

  • This is a declarative sequence, not a loop. It makes rows; it does not repeat work per row.
  • The output column's name is yours to choose, and its type follows the mode you picked.
  • Dates are written as plain ISO text: 2026-01-01, and 2026-01-01 00:00:00 for a timestamp. There is no locale guessing.
  • A date step can be days, weeks, months or years; a date-time step can be seconds, minutes, hours or days.
  • The calendar-spine pattern is the point: generate the dates, join your data onto them, and Union the Join's matches with its Left anchor. A day with no activity is then an empty row (fill it with zero using Fill Missing) rather than an absent one.