Dashboard βΊ Phase 1: Advanced Excel
M1.5
PivotTables, the Data Model, and Intro DAX (Power Pivot)
Phase 1 goal
Turn Excel from a calculation grid into a repeatable data pipeline: clean data with Power Query, look up and reshape with modern functions, wrap logic in LET/LAMBDA, and summarize with PivotTables on a Data Model.
π― Learning objectives
Tick each one when you can actually do it.
π‘ Key concepts
- PivotTable power features: Show Values As (% of Parent, Running Total, Difference From), date grouping, slicers connected to multiple pivots, timelines, GETPIVOTDATA for report layouts.
- Data Model: Load tables with "Add this data to the Data Model". Relationships replace dozens of XLOOKUP columns. It's the same engine as Power BI (VertiPaq).
- Relationship basics: One-to-many from lookup (dimension) tables like
Programsto transaction (fact) tables likeEVMandBudget. - Measures vs. calculated fields: Data Model measures are written in DAX:
Total ACWP := SUM(EVM[ACWP]) CPI := DIVIDE(SUM(EVM[BCWP]), SUM(EVM[ACWP])) Obligation Rate := DIVIDE(SUM(Budget[ActualObligation]), SUM(Budget[PlannedObligation])) - CUBE functions (optional):
CUBEVALUEfor free-form report layouts driven by the model.
π Hands-on exercise: Multi-Table Portfolio Pivot
β¬ Practice data for this module
Data: programs, evm_monthly, budget_execution, contracts.
- Load all four to the Data Model through Power Query (connection only + Data Model).
- In Diagram View, relate
Programs[ProgramID]βEVM[ProgramID],Budget[ProgramID],Contracts[ProgramID]. - Create measures: Total BCWP, Total ACWP, Total BCWS, CPI, SPI, CV, SV, Planned Obligation, Actual Obligation, Obligation Rate.
- Build a PivotTable: Portfolio β Program on rows, with CPI, SPI, and Obligation Rate. Add slicers (Portfolio, ACAT) and a timeline on Budget[CalendarMonth].
- Notice the timeline only filters Budget. Write down why. (That's the date-table problem, which gets solved properly in Module 2.3.)
π¦ Mini-project: Monthly Program Review Pivot Pack
A workbook with three connected pivots (EVM by program, obligations by appropriation, open risks by category) and shared slicers, plus a "print view" sheet using GETPIVOTDATA or CUBEVALUE to lay out a one-page summary in a fixed format.
π§ Self-check quiz
Answer in your own words, then check. Grade yourself honestly; your score is saved.
Q1.5.1
What problem does the Data Model solve compared with a single flat sheet?
Write at least a few words to unlock.
Model answer
How did you do?
Q1.5.2
Why use
DIVIDE() instead of / in DAX?Write at least a few words to unlock.
Model answer
How did you do?
Q1.5.3
In a one-to-many relationship between Programs and EVM, which is the "one" side?
Write at least a few words to unlock.
Model answer
How did you do?
Q1.5.4
Why does a timeline on Budget[CalendarMonth] not filter EVM data?
Write at least a few words to unlock.
Model answer
How did you do?