Text Input
Type a small table straight onto the canvas: lookup values, constants, or a fixed set of rows, versioned with the pipeline.
What it does
A source you type into. You declare the columns and their types, fill in the rows, and the table becomes part of the pipeline itself: saved with it, versioned with it, and visible to anyone reading it. Because the columns are declared rather than discovered, every node downstream sees them straight away, before you have typed a single row or run anything.
Inputs and outputs
| Inputs | None. This node starts a pipeline. |
| Outputs | One. |
When to use it
- Hold a small lookup table on the canvas (country to region, status code to label) instead of uploading a file for it
- Make a one-row table of constants and cross join it on with Append Fields, so a threshold or a cut-off date lives in one visible place
- Pin the expected result of a transform and check the real one against it with Data Compare
- Build a small fixture to develop a pipeline against before the real source is ready
Examples
A region lookup
code (Text) | region (Text) US | NA CA | NA DE | EMEA
Join this onto your data, or feed it to Find & Replace as the mapping table.
A row of constants
as_of (Date) | min_amount (Integer (64-bit)) 2026-03-01 | 500
One row, cross joined on with Append Fields, gives every row the same two values to filter against.
Paste from a spreadsheet
Click a cell, then Ctrl+V
Tab- and comma-separated blocks both work, quotes included. The column types are filled in from what you pasted, and you can change any of them afterwards.
An expected result
Text Input (expected) + your transform → Data Compare
A regression test that runs as a pipeline: the report names every row, value and type that drifted.
Money, at the right scale
amount (Fixed decimal, precision 10, scale 2) 1234.50
Fixed decimal is exact. Typing a third decimal place is refused rather than quietly rounded.
Tips
- The columns are a declaration, and the run keeps to it: a value that will not read as its column's type stops the run and names the row, the column and the value. Nothing is quietly turned into a blank.
- A blank cell means no value at all, in every column type and however you leave it blank. If you want an empty piece of text rather than nothing, set it downstream with Fill Missing.
- Dates are plain ISO text: 2026-01-01, and 2026-01-01 00:00:00 for a date and time. There is no locale guessing, so 01-02-2026 is refused rather than read as one of the two days it could be.
- Text is kept exactly as typed, spaces and all, so a code like 007 keeps its leading zero. That is also why pasting a column of codes leaves it as Text.
- This is for tables you can reasonably type: up to 100 columns and 10,000 cells. The table travels inside the pipeline and is copied onto every run, so anything larger belongs in a file.
- A test run shows the first 50 rows, like every other source. The full table runs when the pipeline does.