Portfolio Dashboard
This tutorial builds a portfolio dashboard — a single report that shows the status of multiple projects at a glance. The dashboard includes a RAG summary table, a cost and schedule variance bar chart, and a project-level slicer for drill-down.
Architecture: Portfolio blueprint (Pattern 3 from Multi-Project Reporting) — one blueprint, one section, one row per project, manually maintained.
Part 1 — Design the Portfolio blueprint
Step 1 — Create the blueprint
- Go to Report Forge → select your portfolio project (create one if needed: e.g. "PMO Portfolio").
- Click + New blueprint.
- Name:
Portfolio Dashboard. - Description:
Monthly portfolio summary — one row per active project. Maintained by project PMs. - Click Create.
Step 2 — Add the Project Status section
- In the blueprint design view, click + Add section.
- Name:
Project Status. - Display mode: Grid (repeating rows — one per project).
- Click Create section.
Step 3 — Add section fields
Add the following fields to the Project Status section:
| Field | Type | Options / Config |
|---|---|---|
| Project Name | Select | Options: list all active projects |
| Project Manager | Text | — |
| Programme Phase | Select | Design, Procurement, Construction, Commissioning, Complete |
| Overall RAG | RAG | Include "Not set" |
| Schedule Variance (%) | Percent | Min: -1.0, Max: 1.0 — Warn if outside ±30% |
| Cost Variance ($) | Currency | Currency: AUD |
| Key Highlights | Textarea | Max 300 chars |
| Major Risks | Textarea | Max 300 chars |
| Status | Select | On Track, At Risk, Critical, On Hold, Completed |
| Last Updated | Date | Default: today |
Step 4 — Add computed fields
Add two computed fields to classify performance:
Computed field formulas reference other fields in the same section by their field key (set in the blueprint), wrapped in square brackets [fieldKey] or curly braces {fieldKey}. Both syntaxes are equivalent. The field key for "Schedule Variance (%)" is ScheduleVariancePct — set this in the field's Key property in the blueprint designer.
Schedule Status Label:
IF([ScheduleVariancePct] >= 0, "On Programme",
IF([ScheduleVariancePct] >= -0.1, "Minor Delay",
IF([ScheduleVariancePct] >= -0.2, "Significant Delay", "Critical")))
Is At Risk (computed toggle):
OR([OverallRAG] = "Red", [Status] = "Critical", [Status] = "At Risk")
Step 5 — Publish the blueprint
Click Publish → version note: "Initial portfolio dashboard blueprint".
Part 2 — Create and populate an edition
Step 6 — Create the portfolio edition
- Go to Editions → + New edition.
- Select the Portfolio Dashboard blueprint.
- Edition name:
PMO Portfolio — May 2026. - Reporting period: 01 May 2026 – 31 May 2026.
- Click Create.
Step 7 — Enter project data
In the Project Status grid:
-
Click + Add row for each active project.
-
Fill in all fields:
- Project Name, PM, Phase
- Overall RAG (Red/Amber/Green)
- Schedule Variance % (e.g. -0.05 for 5% behind)
- Cost Variance $ (positive = under budget, negative = over budget)
- Key Highlights (2–3 bullet points as free text)
- Major Risks
- Status
-
Add one row per project — for this tutorial, assume 8 projects.
Assign one Contributor per project — each PM enters their own row. Use the Assignees setting on the edition to assign all PMs, then each PM can filter the grid to their project row and update it.
- Submit for review when all rows are complete.
Part 3 — Build the Output Template
Step 8 — Open the Output Designer
- Open the Portfolio Dashboard blueprint → Output Designer.
- Click + New output template → name:
Portfolio Dashboard PDF→ format: PDF, A3 Landscape.
Step 9 — Cover page
- Add page → name:
Cover. - Add text component:
PMO Portfolio Dashboard — May 2026. - Add text component:
Prepared by: PMO Office | Report Date: {{[sections.ProjectStatus.LastUpdated]}} - Add KPI row with 3 cards:
- Total Projects:
COUNT([sections.ProjectStatus.rows]) - At Risk / Critical:
COUNTIF([sections.ProjectStatus.rows.Status], "At Risk") + COUNTIF([sections.ProjectStatus.rows.Status], "Critical") - On Track:
COUNTIF([sections.ProjectStatus.rows.Status], "On Track")
- Total Projects:
Step 10 — RAG Summary table
- Add a new page → name:
Project Status. - Add a heading:
Project Status Summary. - Add a Table component.
- Bind to Project Status section.
- Add columns:
| Column | Field | Width |
|---|---|---|
| Project | Project Name | 20% |
| PM | Project Manager | 15% |
| Phase | Programme Phase | 12% |
| Status | Overall RAG (RAG chip) | 8% |
| Schedule | Schedule Status Label | 12% |
| Cost Variance | Cost Variance ($) | 12% |
| Key Highlights | Key Highlights | 21% |
- Sort by: Overall RAG descending (Red first), then Project Name ascending.
- Add conditional formatting:
- Row background: RAG source → Overall RAG field (Red/Amber/Green row tints).
Step 11 — Cost and Schedule variance chart
- Add a new page → name:
Performance Charts. - Add a heading:
Cost & Schedule Variance by Project. - Add a Bar chart component.
- Configure:
- Chart type: Grouped bar
- X-axis: Project Name
- Series 1: Schedule Variance (%) — left Y-axis, colour blue
- Series 2: Cost Variance ($) — right Y-axis, colour orange
- Add Reference lines: Y=0 on both axes (horizontal baseline).
- Add conditional bar colouring:
- Schedule Variance: Red if < -0.2, Amber if < -0.1, Green if ≥ 0
- Cost Variance: Red if < 0, Green if ≥ 0
Step 12 — Add a project slicer for drill-down
- Still on the Performance Charts page, add a Slicer component above the chart.
- Bind the slicer to the Project Name field.
- Slicer type: Chip selector (allows multi-select).
- Connect the slicer to the bar chart — when the slicer is active, the chart shows only selected projects.
This gives report viewers the ability to filter down to specific projects without leaving the report.
Step 13 — At-risk projects callout
- Add a new page → name:
At-Risk Projects. - Set page visibility rule:
COUNTIF([sections.ProjectStatus.rows.IsAtRisk], true) > 0
- Add a heading:
Projects Requiring Attention. - Add a Table → filter:
Status = "At Risk" OR Status = "Critical" OR OverallRAG = "Red". - Columns: Project Name, PM, Overall RAG, Major Risks, Status.
- This page only renders when at-risk projects exist.
Part 4 — Generate and export the PDF
Step 14 — Approve and generate
- After the edition is approved, click Generate output.
- Select the
Portfolio Dashboard PDFtemplate. - Click Generate.
- Preview the output — verify:
- Cover page KPI counts are correct.
- RAG table shows all projects with correct row colouring.
- Bar chart shows all 8 projects with variance bars.
- At-Risk page renders if any projects are At Risk.
- Click Download PDF to export.
Distributing the portfolio report
For automated monthly distribution:
- Configure a Trigger on approval automation (Blueprint settings → Automation).
- Delivery: Email to the board distribution list.
- Output template: Portfolio Dashboard PDF.
Each month, when the portfolio edition is approved, the PDF is automatically emailed to the board.
Related
- Multi-Project Reporting — portfolio reporting patterns
- Conditional Visibility Patterns — page visibility rules
- Running Aggregates Tutorial — adding cumulative trends
- Reporting Cycle Automation — automated PDF distribution on approval