Skip to main content

Multi-Project Reporting

Multi-project reporting aggregates data from multiple projects into a single report — a portfolio dashboard, programme summary, or executive overview. Report Forge supports several patterns for cross-project reporting depending on your data structure and reporting needs.


Architecture overview

Report Forge data is scoped to projects. To aggregate across projects, you choose one of three patterns:

PatternHow it worksBest for
Project parameterOne output template with a Project selector parameterReports that show one project at a time from a unified template
Lookup fieldsOne blueprint pulls data from other blueprints via Lookup fieldsAggregating specific values from child blueprints into a summary
Portfolio blueprintA dedicated portfolio blueprint where each row = one projectDashboard-style reports where contributors enter project summaries centrally

Pattern 1 — Project parameter

The simplest approach: one blueprint, one output template, one parameter that selects the project.

How it works:

  • All projects use the same blueprint (copied from a template).
  • The output template uses a SelectedProject parameter.
  • When generating the output, the report owner selects a project — the template renders that project's data.

Limitations:

  • Cannot aggregate data across all projects simultaneously (only one project at a time).
  • All projects must share the same blueprint structure.

Setup:

  1. Create a "template" blueprint in a template project.
  2. Copy the blueprint into each project that needs to use it.
  3. In the output template, add a parameter: SelectedProject → Dropdown of all active projects in the workspace.
  4. Add a project filter to each data component: [ProjectID] = param.SelectedProject.

Pattern 2 — Lookup fields for portfolio summary

Use Lookup fields to pull specific values from project-level blueprints into a portfolio summary blueprint.

How it works:

  • Each project has a "Monthly Progress" blueprint with a ProjectRAG, CostVariance, and ScheduleVariance field.
  • A "Portfolio Summary" blueprint in a portfolio project has one row per project.
  • Lookup fields in the Portfolio Summary pull the latest ProjectRAG, CostVariance, and ScheduleVariance from each project's blueprint.

Setup:

  1. In the Portfolio Summary blueprint, create a repeating section "Project Status" with fields:

    • ProjectName — Text (manually filled)
    • OverallRAG — Lookup → Source: each project's Monthly Progress blueprint → ProjectRAG field
    • CostVariance — Lookup → Source: each project's Monthly Progress → CostVariance computed field
    • ScheduleVariance — Lookup → Source: each project's Monthly Progress → ScheduleVariance computed field
  2. Configure the Lookup scope to latest — always pulls from the most recently approved edition.

  3. The Portfolio Summary edition has one row per project. Each row auto-populates the RAG and variance values from the project's latest edition.

Limitations:

  • Each Lookup field references a specific blueprint — as projects are added, the blueprint must be updated.
  • Lookup fields are read-only — the portfolio editor cannot override pulled values.
  • Only works well for a fixed set of projects (< 20). For large portfolios, use the portfolio blueprint pattern.

A dedicated portfolio blueprint where contributors for each project enter a summary row.

How it works:

  • One "Portfolio Dashboard" blueprint exists at the workspace level.
  • It has a repeating section "Project Summaries" with one row per project.
  • Each project's report owner (or a central portfolio manager) updates their row each period.
  • The output template generates a portfolio dashboard from all rows.

Blueprint structure for the "Project Summaries" section:

FieldTypeDescription
Project NameSelectDropdown of all workspace projects
Project ManagerTextName of the PM for this project
Overall RAGRAGManually entered portfolio-level status
Schedule Variance (%)PercentEntered by project report owner
Cost Variance ($)CurrencyEntered by project report owner
Key HighlightsTextarea1–3 bullet points for executive narrative
Issues / RisksTextareaTop risk summary
Status (narrative)SelectOn Track / At Risk / Critical / Completed

Advantages:

  • Works for any number of projects (scales to 100+).
  • Project report owners control their own data entry.
  • The output aggregates all rows into a single dashboard.
  • Consistent structure enforced by the blueprint.

Limitations:

  • Data is manually entered (not automatically pulled from project editions).
  • Requires a culture of timely data entry — the portfolio summary is only as current as the most recent updates.

Portfolio output template patterns

Grouped bar chart — by project

  1. Add a Bar chart component.
  2. Bind to the "Project Summaries" section.
  3. Set X-axis dimension: Project Name.
  4. Add series: Cost Variance ($) and Schedule Variance (%) (dual Y-axis for different units).
  5. Apply conditional formatting: colour bars based on RAG status.

RAG grid — one row per project

  1. Add a Table component.
  2. Bind to "Project Summaries".
  3. Columns: Project Name, PM, Overall RAG (RAG chip), Schedule Variance, Cost Variance, Key Highlights.
  4. Sort by: Overall RAG descending (Red first), then Project Name.
  5. Apply row-level conditional formatting based on the RAG Status field.

Summary KPI row

  1. Add a KPI Row component.
  2. Add cards using report variables:
    • TotalProjects = COUNT([sections.ProjectSummaries.rows])
    • RedProjects = COUNTIF([sections.ProjectSummaries.rows.OverallRAG], "Red")
    • AtRiskProjects = COUNTIF([sections.ProjectSummaries.rows.Status], "At Risk")

Project scope selector (parameter)

For Pattern 1 (project parameter), add a SelectedProject dropdown parameter to filter all components:

Parameter configuration:

  • Type: Select
  • Options source: Workspace projects list
  • Label: "Select project"
  • Allow "All" option: No (each output is for one project)

Component filter on all data tables and charts:

[ProjectID] = param.SelectedProject

Limitations of multi-project reporting

LimitationImplication
Blueprints are project-scopedEach project must have its own copy of the blueprint — changes to the template do not propagate
Lookup fields require explicit source configurationAdding a new project requires updating the portfolio blueprint's lookup configuration
No real-time cross-project aggregationPortfolio summaries require a manual data entry cycle or API integration
Edition data cannot be directly queried across projectsUse the portfolio blueprint pattern or API-based aggregation for automated cross-project reporting