Logan's Analytics Bootcamp
Dashboard β€Ί Phase 1: Advanced Excel
M1.5

PivotTables, the Data Model, and Intro DAX (Power Pivot)

⏱ 6 hoursπŸ“… Weeks 5–6❓ 4 quiz questions
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 Programs to transaction (fact) tables like EVM and Budget.
  • 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): CUBEVALUE for free-form report layouts driven by the model.

πŸ›  Hands-on exercise: Multi-Table Portfolio Pivot

⬇ Practice data for this module
D1 programsProgram dimension (12 rows)CSVXLSX
D3 evm_monthlyMonthly EVM by control account (~2,000 rows)CSVXLSX
D4 contractsContracts (30 rows)CSVXLSX
D5 budget_executionBudget execution by appropriation (1,296 rows)CSVXLSX
D7 risksRisk register (80 rows)CSVXLSX

Data: programs, evm_monthly, budget_execution, contracts.

  1. Load all four to the Data Model through Power Query (connection only + Data Model).
  2. In Diagram View, relate Programs[ProgramID] β†’ EVM[ProgramID], Budget[ProgramID], Contracts[ProgramID].
  3. Create measures: Total BCWP, Total ACWP, Total BCWS, CPI, SPI, CV, SV, Planned Obligation, Actual Obligation, Obligation Rate.
  4. Build a PivotTable: Portfolio β†’ Program on rows, with CPI, SPI, and Obligation Rate. Add slicers (Portfolio, ACAT) and a timeline on Budget[CalendarMonth].
  5. 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.
Q1.5.2
Why use DIVIDE() instead of / in DAX?
Write at least a few words to unlock.
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.
Q1.5.4
Why does a timeline on Budget[CalendarMonth] not filter EVM data?
Write at least a few words to unlock.