Skip to main content

Build a Table and Matrix Report

Table and matrix components work as a pair in project control reports: the matrix shows the summary pattern (cost by WBS by period), and the table below it shows the supporting detail rows. This tutorial builds a cost report page using both.


Prerequisites​

  • A published blueprint with a cost or quantity section (repeating rows).
  • Fields including: WBS code, Activity name, Planned value, Actual value, Variance, Period date.
  • An approved edition with cost rows entered.

Step 1: Add a new page​

  1. Open the output in the Output Designer.
  2. Click + in the page thumbnail panel to add a new page.
  3. Name the page "Cost Detail".
  4. Set page orientation to Landscape for the matrix (wider column set).

Step 2: Add a section header​

  1. Insert a Section Header component at the top of the page.
  2. Set the label to "Cost Performance — [Period]" — bind the period field for dynamic text.

Step 3: Add the Matrix component​

  1. Insert a Matrix component below the section header.
  2. Bind the source section (cost section).
  3. Configure the matrix structure:
    • Row group: WBS code (groups rows by WBS level).
    • Column group: Period date (creates one column per reporting period).
    • Value: Actual cost (the cell value).
    • Aggregation: Sum.
  4. Enable Row totals column on the right.
  5. Enable Column totals row at the bottom.
  6. Set Expand depth: WBS Level 2 by default (rows collapsed to Level 2 on load).

Step 4: Format the matrix​

  1. In the Format panel:
    • Header row background: theme primary colour, white text.
    • Row group indent: 16px per level.
    • Row totals: bold, shaded background.
    • Column totals: bold, border-top.
  2. Set Conditional row formatting: Variance < 0 → amber background on the row.
  3. Set Number format: Currency, 0 decimal places, show negative in red.
  4. Resize columns to fit — most period columns can be narrow (60–80px); the WBS column needs 200px.

Step 5: Add the Table component​

  1. Insert a Table component below the matrix.
  2. Bind the same cost section.
  3. Add columns:
    • WBS code (80px)
    • Activity name (200px)
    • Planned value (100px)
    • Actual value (100px)
    • Variance (100px)
    • % Complete (80px)
    • Period date (100px)
  4. Set Sort: WBS code ascending, then Activity name ascending.
  5. Set Column totals row: Sum for Planned, Actual, and Variance columns.

Step 6: Filter both components consistently​

Both the matrix and the table should show the same data scope:

  1. In the Table component → Filters tab:
    • Add filter: Period date = current period (bind to the edition period end date field).
  2. Repeat the same filter on the Matrix component.

This ensures the matrix totals match the table totals.


Step 7: Add a slicer (optional)​

If the report audience needs to filter by WBS branch:

  1. Insert a Slicer component above the matrix (type: Hierarchy).
  2. Bind to the WBS field in the cost section.
  3. Link both the table and matrix to this slicer in their Filters → Slicer settings.

Now selecting a WBS branch in the slicer filters both components simultaneously.


Step 8: Preview and verify​

  1. Click Preview.
  2. Compare the matrix column totals against the table column totals — they should match.
  3. Check that the matrix row group expand/collapse works correctly.
  4. Check that long activity names don't overflow the table column — reduce font size or increase column width.
  5. If the table has many rows, enable Pagination in the table settings (10 or 20 rows per page in the viewer).

Step 9: Publish and generate​

  1. Save and Publish the output template.
  2. Open the edition → Generate output.
  3. Preview the generated output.
  4. Export as PDF or Excel.

For Excel export: the matrix and table export as separate sheets. The matrix sheet will have the WBS/period cross-tab structure; the table sheet has flat rows.


Good practices​

PracticeWhy
Keep both components filtered to the same scopeMismatched totals undermine trust in the report.
Use matrix for pattern, table for auditThe matrix shows where; the table shows what.
Limit matrix to 6–8 column periodsMore periods than that produces an unreadable wide chart.
Use conditional formatting on negative variancesMakes overruns visible without requiring column-by-column scanning.
Add a totals row to the tableMakes the table auditable against the matrix.