Badr Abardazzou

Tools

Power BI templates for project controls

Four report templates for the questions every project meeting asks: are we on plan, which milestones slip, who owns what, and what happens in the next three weeks. Free, MIT licensed, each one fed by a single Excel workbook. Source on GitHub (MIT).

Your data in 3 steps

  1. 1
    Download

    Take the template and its sample workbook from the card below. Save both in one folder, for example C:\PowerBI-Templates\progress-s-curve\.

  2. 2
    Fill the Excel

    Replace the sample rows with yours. Keep every sheet name and every column header as they are; the README sheet explains each column. Add rows freely.

  3. 3
    Point DataFile, refresh

    Unzip, open the .pbip, then Home, Transform data, Edit parameters. Paste the full path of your workbook in DataFile, OK, then Refresh.

DataFile is a Power Query parameter that holds the full path of the workbook, such as D:\Projects\Plant\sample_data.xlsx. Power BI cannot read a path relative to the report, so the full path is the one setting to change. Move or rename the workbook later: edit the parameter again and refresh. Tip: in File Explorer, Shift + right-click the workbook and choose Copy as path, then remove the quotes.

1

Progress S-curve

Are we ahead or behind the baseline, by how much, and where does the forecast land?

Progress S-curve report page with the North Ridge Water Plant sample data

Who and whenProject controls and planning engineers, for the weekly progress report and the monthly client report.

What it shows

  • Planned, actual and forecast cumulative % of budget hours, week by week, with weekly bars under the curves
  • Planned to date, actual to date, variance in points and SPI at the data date
  • Baseline finish against forecast finish, with the slip in weeks
  • Variance table by discipline, expandable to area, SPI in traffic-light colours
Project (.zip) Sample data (.xlsx) Sheets: Settings, Progress, plus README
Column dictionary
SheetColumnTypeWhat to enter
SettingsProject NameTextProject name shown in the report header.
SettingsData DateDateStatus date (cut-off). Actuals count up to this date. Leave empty to use today.
ProgressWeek EndingDateLast day of the reporting week. Same weekday on every row.
ProgressDisciplineTextDiscipline or trade. Drives the slicer and the variance table.
ProgressAreaTextArea, unit or work front.
ProgressPlanned HoursNumberBaseline hours planned to be earned that week. All weeks of a discipline and area add up to its budget.
ProgressEarned HoursNumberHours earned that week (budget x progress gained). Up to the data date only.
ProgressForecast HoursNumberHours you expect to earn that week. After the data date only.
2

Milestone tracker

Which milestones are slipping, by how many days, and which ones are already late?

Milestone tracker report page with the North Ridge Water Plant sample data

Who and whenProject managers and planners, for the steering committee and the client milestone review.

What it shows

  • Milestone chart by month: hollow diamond on the baseline month, filled diamond on the forecast or actual month, coloured by status
  • Counts of complete, on track, at risk and late milestones, and the average slip of the open ones
  • Slip ranking in days against the baseline
  • A second page with the full register: dates, slip and status per milestone
Project (.zip) Sample data (.xlsx) Sheets: Settings, Milestones, plus README
Column dictionary
SheetColumnTypeWhat to enter
SettingsProject NameTextProject name shown in the report header.
SettingsData DateDateStatus date. A milestone forecast before this date and not achieved is Late.
SettingsLate Threshold DaysWhole numberSlip above which an open milestone is Late instead of At risk. Default 30.
MilestonesMilestone IDTextUnique code.
MilestonesMilestoneTextShort name.
MilestonesPhaseTextEngineering, Procurement, Construction, Commissioning, Handover or your own list.
MilestonesAreaTextArea or unit. Site-wide for project-level milestones.
MilestonesOwnerTextRole or person accountable.
MilestonesBaseline DateDateDate in the approved baseline. Frozen.
MilestonesForecast DateDateCurrent forecast, updated every week.
MilestonesActual DateDateDate achieved. Empty while open.
3

RACI and responsibility matrix

Who does, owns, advises and hears about each activity, and where is ownership broken?

RACI and responsibility matrix report page with the North Ridge Water Plant sample data

Who and whenProject managers and interface managers, at kick-off, at each organisation change and before an audit.

What it shows

  • The matrix itself, activities by role, each cell coloured by code
  • Workload per role: how many A, R, C and I each role carries
  • A rule check that lists every activity with no Accountable, more than one Accountable, or no Responsible
  • Filters by phase and by role
Project (.zip) Sample data (.xlsx) Sheets: Settings, RACI, plus README
Column dictionary
SheetColumnTypeWhat to enter
SettingsProject NameTextProject name shown in the report header.
RACIActivity IDTextUnique activity code. Sets the row order.
RACIActivityTextActivity or deliverable.
RACIPhaseTextPhase, process or work package.
RACIone column per roleTextHeader = role name. Cell = R, A, C, I, or two codes such as A/R. Empty = not involved. Add or remove role columns freely.
4

3-week look-ahead

What work starts, finishes or runs in the next three weeks, who does it, and what could stop it?

3-week look-ahead report page with the North Ridge Water Plant sample data

Who and whenConstruction managers, site planners and supervisors, for the weekly coordination meeting.

What it shows

  • A day-by-day bar chart of the window: done part in dark teal, remaining in teal, amber when a constraint is still open
  • Overdue work flagged in red on the first day
  • Counts of activities in the window, starting, finishing, with open constraints, overdue
  • The constraint list sorted by need-by date, filtered by area and owner
Project (.zip) Sample data (.xlsx) Sheets: Settings, Activities, plus README
Column dictionary
SheetColumnTypeWhat to enter
SettingsProject NameTextProject name shown in the report header.
SettingsData DateDateStatus date. The window starts on the Monday after it.
SettingsLook-ahead WeeksWhole numberLength of the window. Default 3.
ActivitiesActivity IDTextActivity code, as in the schedule.
ActivitiesActivityTextActivity name.
ActivitiesAreaTextArea or work front.
ActivitiesOwnerTextCrew, subcontractor or person.
ActivitiesStart DateDatePlanned or actual start.
ActivitiesFinish DateDatePlanned or forecast finish. Same as Start for a one-day task.
Activities% CompleteNumber 0 to 1Physical progress. At 1 the activity drops out.
ActivitiesConstraintTextWhat must be cleared first. Empty once cleared.

Apply your brand

The templates ship with KATA, a quiet teal theme built for weekly status decks. To swap it for your company colours, build a theme with the Theme Builder, check its contrast with Theme Check, then in Power BI Desktop go to View, Themes, Browse for themes and pick your JSON file. Status colours (green, amber, red) come from DAX measures, so they stay readable whatever palette you apply.

How progress, SPI and slip are computed. Every figure comes from DAX measures you can read in the model, with a description on each.
  • Budget = sum of Planned Hours over all weeks of the selection. The baseline curve therefore ends at 100%.
  • Planned % cumulative at week w = planned hours with Week Ending up to w / budget.
  • Actual % cumulative = earned hours up to w / budget, shown only up to the last week ending on or before the data date.
  • Forecast % cumulative = (earned hours to the data date + forecast hours after it, up to w) / budget. It starts where the actual curve stops, so the two lines join.
  • SPI = earned hours to date / planned hours to date. The hours are the earned value and the planned value of the method, so 1.00 means on plan and 0.90 means 10% of the planned work is not done. Green from 0.95, amber from 0.90, red below.
  • Variance = actual % to date minus planned % to date, in percentage points.
  • Forecast finish = first week where the forecast curve reaches 99.9% of the budget. Slip = forecast finish minus the last week with planned hours, in weeks.
  • Milestone slip = (actual date, or forecast date while open) minus baseline date, in calendar days. Complete = actual date filled. Late = open and forecast before the data date, or slip above Late Threshold Days. At risk = slip above zero. On track = the rest.
  • RACI check: each activity needs exactly one A and at least one R. Zero A, two A or zero R puts it on the check list.
  • Look-ahead window = the Monday after the data date plus Look-ahead Weeks x 7 days. An activity shows when it is below 100% and starts before the window ends, so overdue work stays visible until it is closed.
Planned against actual, the rules that keep the curve honest. Freeze the baseline: Planned Hours never change after approval, a re-plan goes into Forecast Hours. Measure progress in one unit for the whole project (hours, weighted points or cost) so disciplines add up. Report actuals only up to the data date, forecast only after it. Earn progress on physical rules of credit (steps completed, quantities installed), not on hours spent, or the actual curve tracks spending instead of work.
What is inside the download. Each template is a Power BI project built from source: the report pages in PBIR, the model in TMDL, one Power Query parameter for the workbook path, and measures with plain names and descriptions. The sample project, North Ridge Water Plant, is fictional. Nothing is uploaded anywhere: the report reads the Excel file on your machine.