Excel function reference¶
All functions live in the PRECIS namespace and spill their result into
the grid. Style a spilled table with the Format ribbon button; re-fetch every
cell with Refresh.
Argument separator
Examples below use ;. Excel uses your locale's list separator — , in some
locales, ; in others. Skip an optional middle argument with two separators,
e.g. …;;…. Trailing optional arguments can simply be omitted.
Discover valid keys with =PRECIS.KPIS() (metric keys),
=PRECIS.SCENARIOS() (scenario keys), and
=PRECIS.HIERARCHY(…) (dimension members).
PRECIS.STATEMENT¶
A financial statement — rows are statement lines (Revenue → EBITDA), columns are scenarios.
=PRECIS.STATEMENT(statement, periodStart, periodEnd, [scenarios], [dimensions], [filters], [scale], [decimals])
| Argument | Required | Description |
|---|---|---|
statement |
yes | Statement key, e.g. "pnl", "full_pnl". |
periodStart |
yes | Range start, YYYY-MM, e.g. "2026-01". |
periodEnd |
yes | Range end, YYYY-MM. |
scenarios |
no | Comma-separated scenario keys. Optional display alias via key as Alias. |
dimensions |
no | Comma-separated dimensions to break by, e.g. "cost_centre". |
filters |
no | key=value pairs, comma-separated; multi-value with \|. |
scale |
no | Currency scaling power: 0=units, 3=thousands, 6=millions. |
decimals |
no | Decimal places. |
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05")
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals as Act,budget as Bud,actuals_vs_budget as Var")
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals,actuals_vs_actuals_py as YoY")
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals";"cost_centre")
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals";;"cost_centre=CC-100|CC-200")
=PRECIS.STATEMENT("full_pnl";"2026-01";"2026-04";"actuals";;;6;1)
With a dimension breakdown and more than one scenario, the statement gains a two-row header — each dimension group sits above its scenario columns — and the total column is shaded so it stands out. Click Format to apply the full Précis styling.
PRECIS.METRIC¶
A metric breakdown — one or more metrics, broken down by dimensions (rows) and scenarios (columns).
=PRECIS.METRIC(metrics, periodStart, periodEnd, [dimensions], [scenarios], [filters], [layout], [scale], [decimals])
| Argument | Required | Description |
|---|---|---|
metrics |
yes | Comma-separated metric keys, e.g. "revenue,utilisation". |
periodStart |
yes | Range start, YYYY-MM. |
periodEnd |
yes | Range end, YYYY-MM. |
dimensions |
no | Comma-separated dimensions to break by. |
scenarios |
no | Comma-separated scenario keys; alias via key as Alias. |
filters |
no | key=value pairs, comma-separated; multi-value with \|. |
layout |
no | report (default — styled, hierarchical) or extract (flat, formula-friendly leaf table). |
scale |
no | 0/3/6. |
decimals |
no | Decimal places. |
With more than one metric and more than one scenario, the report layout adds
a two-row header: the metric label sits above its scenario columns (a spill can't
merge cells, so the label appears at the start of each group). The extract
layout returns a flat leaf table with the dimensions as columns — use it for
downstream formulas; it isn't styled by Format.
=PRECIS.METRIC("revenue";"2026-01";"2026-05";"cost_centre")
=PRECIS.METRIC("revenue,utilisation";"2026-01";"2026-05";"department,cost_centre";"actuals as Act,budget as Bud")
=PRECIS.METRIC("revenue";"2026-01";"2026-05";"project";"actuals";;"extract")
Comparison and prior-year scenarios¶
Any scenario column in STATEMENT or
METRIC can be a generated scenario, not just a real one:
| Key pattern | Example | Gives you |
|---|---|---|
<alias>_py / <alias>_pp |
actuals_py |
the scenario shifted a year (_py, −12 months) or a period (_pp, −1 month) back |
<left>_vs_<right> |
actuals_vs_budget |
signed variance, left − right |
<left>_vs_<right>_pct |
actuals_vs_actuals_py_pct |
percentage variance |
Year-on-year is just a comparison against a period-shifted scenario —
actuals_vs_actuals_py (signed) or actuals_vs_actuals_py_pct (percent).
prior_year / prior_period work as aliases for actuals_py / actuals_pp.
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals,actuals_vs_actuals_py as YoY")
=PRECIS.STATEMENT("pnl";"2026-01";"2026-05";"actuals,actuals_vs_actuals_py_pct as YoY%")
=PRECIS.METRIC("revenue";"2026-01";"2026-05";"cost_centre";"actuals,budget,actuals_vs_budget as Var")
Comparison columns are colour-coded favourable/unfavourable when you click
Format: green/red follows each metric's variance polarity (revenue up is
green, cost up is red), so a cost variance is never mis-coloured. Discover the
live keys with =PRECIS.SCENARIOS("shifted") and =PRECIS.SCENARIOS("comparisons").
PRECIS.HIERARCHY¶
List or search dimension members and ragged-hierarchy nodes.
=PRECIS.HIERARCHY(dimension, [query], [output])
| Argument | Required | Description |
|---|---|---|
dimension |
yes (to list) | Dimension key, e.g. "cost_centre", "employee". |
query |
no | Free-text search, e.g. "cloud"; omit to list all members. |
output |
no | records (leaf members, default), nodes (ragged rollup nodes), or list (two columns — member code and display name — with no header row). |
=PRECIS.HIERARCHY("cost_centre")
=PRECIS.HIERARCHY("cost_centre";;"nodes")
=PRECIS.HIERARCHY("employee";"smith")
=PRECIS.HIERARCHY("department";;"list")
list works for every dimension kind — leaf, derived, and ragged (for a
hierarchy key it lists every node, all levels) — and lifts the server's
default result cap so the list is complete. It is the shape behind the task
pane's member drop-downs; use it directly
whenever a formula needs a clean code + name lookup table.
PRECIS.KPIS¶
The metric catalogue as a flat table — keys, labels, domains, formats, and the
dimensions available for each. Use it to find valid metric keys for
=PRECIS.METRIC.
=PRECIS.KPIS()
=PRECIS.KPIS()
PRECIS.SCENARIOS¶
The available scenarios as a flat table — the keys/aliases to pass to
=PRECIS.STATEMENT and =PRECIS.METRIC.
Scope-filtered to what you can read.
=PRECIS.SCENARIOS([section])
| Argument | Required | Description |
|---|---|---|
section |
no | real (concrete scenarios, default), comparisons (generated variance keys such as actuals_vs_budget), shifted (period-shifted keys such as actuals_py), or aliases (compatibility aliases, e.g. prior_year → actuals_py). |
See Comparison and prior-year scenarios for what
the comparisons and shifted keys mean and how to use them as columns.
=PRECIS.SCENARIOS()
=PRECIS.SCENARIOS("comparisons")
=PRECIS.SCENARIOS("shifted")