Reading values from another file
A column can draw its values from a column of a spreadsheet you already have - the original case being an owner column fed by a previously exported user list, so generated data references real names.
- Name: owner
Generator:
Type: File Column
Settings:
Path: sources/owners.csv # relative to THIS file, forward slashes
Sheet: Users # omit for the first sheet, and for delimited files
Column: nameIn the application, set the column's type to File Column and use Choose source file and column…, which lists the sheets and headers it found so a wrong guess is visible immediately.
Supported: .xlsx, .csv, .tsv, .txt. Delimited files are sniffed for their delimiter, except .tsv, which is always tab-separated.
Several values per cell
The same per-row options as a pick list, with the same defaults:
- Name: departments
Generator:
Type: File Column
Settings:
Path: sources/owners.csv
Column: department
MinPicks: 1
MaxPicks: 2
Separator: ", "A cell never repeats a value, so multi-pick draws from the distinct values in the source column. If six people share three departments, a cell can still only hold each department once, and MaxPicks cannot exceed three.
Paths and missing files
The path is stored relative to the configuration and written with forward slashes, so a schema and its sources move together - between folders and between operating systems.
A missing source is an error when the configuration is opened:
Source files not found: 'owner' reads from sources/owners.csv.
Make the file available next to this configuration, or edit the configuration to
remove the column that depends on it.That is deliberate. Discovering it as blank cells at the end of a long run is worse.
What this does to reproducibility
This is the one thing that reaches outside the configuration
For a schema using a file-backed column the guarantee becomes the same configuration, the same seed, and the same source files. Edit a value in that spreadsheet and the output changes, with nothing to warn you.
Export a bundle to close the gap: it seals the source files in with the schema, so the whole scenario is pinned again.
Uniqueness
A file-backed column reports the number of values in its source column, so marking it unique caps the row count at that number and validation says so up front. A column drawing several values per row cannot be unique.