You point it at your own project CSV; 8 calculated fields surface every overdue task and budget overrun before your sponsor sees the steering deck — the ones a raw export hides.
Formula: IF [Status] = "Complete" THEN "Done" ELSEIF [Due Date] < TODAY() THEN "Overdue" ELSE "On Track" END
Uses: Status, Due Date
Formula: SUM(IF [Status] = "Complete" THEN 1 ELSE 0 END) / COUNT([Task])
Uses: Status, Task
Formula: SUM([Actual Cost]) - SUM([Budget])
Uses: Actual Cost, Budget
Formula: ZN(SUM([Actual Cost])) / SUM([Budget])
Uses: Actual Cost, Budget
Formula: SUM(IF [Finish Date] <= [Due Date] THEN 1 ELSE 0 END) / SUM(IF [Status] = "Complete" THEN 1 ELSE 0 END)
Uses: Finish Date, Due Date, Status
Formula: IF [Status] = "Complete" THEN 0 ELSE DATEDIFF('day', [Due Date], TODAY()) END
Uses: Status, Due Date
Formula: SUM([Actual Hours]) - SUM([Planned Hours])
Uses: Actual Hours, Planned Hours
Formula: ZN(SUM([Planned Hours])) / SUM([Actual Hours])
Uses: Planned Hours, Actual Hours
| Column | Type | Role |
|---|---|---|
Project | string | dimension |
Task | string | dimension |
Owner | string | dimension |
Status | string | dimension |
Priority | string | dimension |
Start Date | date | dimension |
Due Date | date | dimension |
Finish Date | date | dimension |
Budget | real | measure |
Actual Cost | real | measure |
Planned Hours | real | measure |
Actual Hours | real | measure |
Project,Task,Owner,Status,Priority,Start Date,Due Date,Finish Date,Budget,Actual Cost,Planned Hours,Actual Hours
File you connect: project_tasks.csv
Your team already pays $14 per user/month for Power BI Pro (Microsoft list price effective 1 April 2025) and it still opens on an empty canvas. Point this at your cost report, your P6/MS Pro
This page is the free working part. The full version is sent to your inbox.
Microsoft's published list price is $14 per user/month for Power BI Pro and $24 per user/month for Premium Per User, both effective 1 April 2025. The licence is already bought — what is missing is the model that sits on it. This t
Send it to me