Skip to main content

tabular

Tabular Report (User Guide)

What it is

- A Tabular report shows rows of data (like a spreadsheet) with optional grouping and aggregates. Use it when you need detailed, row-level output or simple grouped totals.

Required configuration fields

- Name: Unique identifier for the report widget.
- Display Name: User-facing title.
- Data Source: The backend data or program supplying rows.
- Report Type: Set to "Tabular".
- Valid For: The entity/instance type the report applies to.
- Definition: "Standard" or "Custom" definition that selects fields/logic.
- Precision: Number formatting precision for numeric fields.
- Grand Totals: On/Off for displaying totals row.
- Export To CSV: Allow CSV export (true/false).
- Export To Excel: Allow Excel export (true/false).
- Show State Filter: Show state filter in UI (true/false).
- Show Parent Filter: Show parent filter in UI (true/false).
- Show Attribute Filter: Show attribute filter in UI (true/false).
- Shrink To Fit: (only for Standard Definition) whether columns auto-fit.

Optional/advanced

- Columns: List of attributes, display names and aggregateType (None/Count/Sum/Average).
- Sort: Default sort column and direction.
- Page Size: Number of rows per page.
- Column visibility: default hidden/shown per column.

Example JSON-ish snippet

- name: "salesTabular"
- displayName: "Sales Report"
- dataSource: "SalesProgram"
- reportDisplayType: "Tabular"
- definition: "Standard"
- precision: 2
- grandTotals: "On"
- exportToCsv: true
- exportToExcel: true
- showStateFilter: true

Common pitfalls & tips

- If the report is empty, check Data Source and Definition mapping (fields list).
- Large row counts: enable pagination and avoid complex server-side joins.
- Date/time attributes should use the correct attributeType (Date/DateTime) to allow grouping.

Success criteria

- Report renders rows in the app when widgetConfig.reportDisplayType is "Tabular" and reportConfig.fields/columns are present.