Builder guide
For report authors putting a chart together: the patterns that come up repeatedly, with the rows that produce them. If you have not yet bound the basic fields, start with the quick start first — this page assumes a working chart and shows how to build the shapes a real organization actually has.
On this page
Before you build
Three other pages cover the pieces these examples assume you already know:
- The model overview explains data types, nesting versus anchoring, and multi-chain overlays — the concepts behind every example below.
- The field reference lists every field, including which
ones are dual-purpose (marked with a
|) and mean something different depending on the row's data type. - Bind raw columns, never measures, and keep everything in one flat table — both examples and the model overview assume this throughout.
1. A unit triad with departments
The commonest shape: a CO, XO and senior enlisted leader drawn as one box, with departments hanging beneath the SEL.
The rows behind it, abbreviated to the columns that matter:
dataType id label parentId childId role
NODE PHX.CO CO
NODE PHX.XO XO
NODE PHX.SEL SEL
GROUP G.PHX.TRIAD Unit Triad ROW
MEMBER G.PHX.TRIAD PHX.CO
MEMBER G.PHX.TRIAD PHX.XO
MEMBER G.PHX.TRIAD PHX.SEL
GROUP G.PHX.N4 N4 Logistics PHX.SEL GRID
EDGE E001 PHX.CO PHX.XO
EDGE E002 PHX.CO PHX.SEL
G.PHX.N4 sets parentId to PHX.SEL. That is
anchoring: the department box hangs beneath that billet. Setting childId
instead would nest it inside another group.
2. A region containing units
A region has its own triad and staff, and its detachments hang beneath the region commander. The Include tree shows the result:
Western Region
├─ Regional Triad
│ ├─ CO
│ │ └─ West Detachments ↗
│ │ ├─ Phoenix
│ │ │ └─ Phoenix Triad ↗
│ │ └─ Salt Lake
│ │ └─ Salt Lake Triad ↗
│ ├─ XO
│ └─ SEL
└─ Regional Staff
The ↗ marks a group reached by anchoring rather than nesting. Each
unit's triad sits under its own unit name, not beside it — which is what keeps two
identical-looking triads distinguishable.
When one detachment IS the region's own leadership seat
Sometimes a region doesn't have separate regional staff at all — the region is run from one of its own detachments, alongside that detachment's own local leadership. Mark that one member as the lead / flagship member on the West Detachments GROUP row (column 12, UIC title — reserved for this on GROUP rows specifically). Two things follow automatically: the lead gets a small gold marker and is always listed first in the grid, and every other detachment's "Reports to" line in the Inspector switches to naming the lead instead of whichever detachment happened to sort first.
Roll-up totals follow both
Ask the region for a manning total and you get the whole region — its triad, its staff, its detachments and everything inside them — because roll-up follows nesting and anchoring. Following only nesting would total the triad and staff and stop there.
3. A mixed military and civilian command
Command leadership rarely divides neatly. A NAVSEA-style chart has flag officers and SES civilians side by side, and a flag officer may be dual-hatted into a second billet that a whole subordinate command reports through.
| Billet | Held by | Note |
|---|---|---|
| Commander | VADM Burns | Military |
| Executive Director | Ms. Bryant, SES | Civilian |
| SEA 05 Naval Systems Engineering | Dr. Phillips, SES | Civilian |
| Supervisor of Shipbuilding | RDML Franklin | Military |
| Reserve Program Director | RDML Franklin | Dual hat — same person, second billet |
The dual hat is simply a second ASSIGNMENT row for the same person against a
different billet, with its own assigned date. The subordinate command's top billet then has a
reporting edge to the second billet, and the whole chain hangs together.
Civilians need no special handling. They are roster rows like anyone else,
matched into a unit's Unassigned pool the same way a military member is — by their five
UICs, not by a category you set. 07_kind (personnel type) is worth setting to
something like Civilian for display, but it's descriptive only; which pool
category they land in (Billeted local, Externally billeted, and so on) is computed from their
UICs regardless of what this field says. They are reachable in the assignment picker once you
tick Search the entire roster.
4. A summary panel
Command-level totals in a box beside or below the chart, the way a printed org chart carries a summary block. Panels are configured cell by cell in the format pane, or as JSON for anything more elaborate:
{
"rows": 2, "cols": 3, "title": "Command summary",
"cells": [
{ "row": 1, "col": 1, "type": "VALUE", "slot": 1 },
{ "row": 1, "col": 2, "type": "VALUE", "slot": 2 },
{ "row": 1, "col": 3, "type": "STATUS", "text": "Status:" },
{ "row": 2, "col": 1, "type": "COUNT", "text": "Billets:" },
{ "row": 2, "col": 2, "type": "GAPPED", "text": "Gapped:" },
{ "row": 2, "col": 3, "type": "UPDATED","text": "Updated:" }
]
}
Cell types cover free text, cumulative values, comparisons, billet and gapped counts, verification, the chart provenance fields, images, and the three bindable footer fields.