table display type (see Defining variables) is how you get the table-specific display options: named columns, per-column formats, and row labels. A table value given a scalar display type such as number still renders as a table, but every cell takes that type’s formatting — thousands separators, the configured decimal places — and the columns fall back to generic headers. This page covers the authoring side; for the underlying value model — how tables are written, stored, and combined — see Tables.
When to use a table
Use a table variable when a quantity is naturally many values rather than one: a payment broken out month by month, a list of material costs, a grid of rate-by-term lookups. A variable that holds a single value should stay a scalarnumber, percent, or no_separator.
Rows versus columns
The authoring distinction that matters: columns are defined, rows are data. You name and format the columns when you author the variable; the rows are produced by a calculation or supplied as input, and there can be any number of them. Tables are 1-indexed — the first row and column are index1. So you configure the shape across, not down.
Configuring columns
Each column has:- A name — the column’s label.
- A display type —
number,percent, orno_separator, the same scalar types a plain variable uses. - A decimal format —
decimals_0throughdecimals_9, ordecimals_float, applied when the column’s values are shown.
1; setting it to 0 is occasionally handy when displaying a cash-flow table whose initial flow is period 0 (CF[0]), for instance.
Columns have no unit field: each cell carries its own unit, supplied with the value, so the variable’s own unit is empty (see Tables as a stored value).

