Logan's Analytics Bootcamp
Dashboard β€Ί Capstone
CAP

Capstone: Portfolio Status Pipeline

⏱ 20 hoursπŸ“… Weeks 30–33

βœ… Deliverable tracker

⬇ Practice data for this module
D1 programsProgram dimension (12 rows)CSVXLSX
D2 milestonesMilestones (~150 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
D6 schedule_tasksIMS task export (1,500 rows)CSVXLSX
D7 risksRisk register (80 rows)CSVXLSX
D8 status_drops/36 messy monthly status workbooksZIPBrowse files

Scenario: The (fictional) PEO-FS Deputy PEO wants a monthly portfolio review that (1) updates itself when program teams submit data, (2) alerts leadership when cost or schedule performance crosses thresholds, and (3) produces the standard Word status report package automatically. You're the analyst building it.

Estimated Hours: 20 (Weeks 30–33)

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 1. RAW DATA        β”‚    β”‚ 2. POWER BI             β”‚    β”‚ 3. POWER AUTOMATE      β”‚
β”‚ SharePoint library │──► β”‚ Power Query (M) clean   │──► β”‚ Data alert: CPI < 0.95 β”‚
β”‚ status_drops/*.xlsxβ”‚    β”‚ Star schema + dim_Date  β”‚    β”‚  or slip > 30 days     β”‚
β”‚ + D1–D7 datasets   β”‚    β”‚ DAX EVM/budget measures β”‚    β”‚ β†’ Teams + email + log  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚ Published app + RLS     β”‚    β”‚ β†’ Approval: PM ack     β”‚
          β”‚               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                                                          β”‚
          β”‚               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”‚
          └─────────────► β”‚ 4. PYTHON               β”‚ β—„β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚ pandas β†’ EVM engine     β”‚  (flow notifies when the
                          β”‚ openpyxl workbook       β”‚   report package lands)
                          β”‚ python-docx reports     β”‚
                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 5. AI (approved tools, schema-only): drafting, review, docs

Requirements and Deliverables

# Component Requirements Deliverable
1 Data intake status_drops library + core datasets. Data call log flow (Module 3.2) records submissions. SharePoint library + list, intake flow
2 Transformation Parameterized Power Query with a custom cleaning function, a QA errors query, and a fiscal date dimension PBIP/PBIX with documented queries
3 Model Star schema, documented grain, marked date table, inactive relationships for milestone dates Model design doc (Module 2.3 format)
4 Measures Cumulative EVM (CPI, SPI, CV, SV, EAC, VAC, TCPI), EAC Gap, FYTD obligations vs. plan, late milestones, risk exposure Measure library with descriptions
5 Report Overview, Program Detail (drill-through), Execution, Schedule/Milestones, Risk pages. Theme, accessibility, "data as of". Published report/app with RLS by portfolio
6 Alerting Dashboard tile alert on Portfolio CPI Cum (< 0.95) + a scheduled flow that checks for milestone slips > 30 days through a DAX query. Teams + email, Alert Log list, PM acknowledgment through Approvals, try/catch error handling. Two flows in a Solution + README
7 Report generation Python package produces 12 program .docx reports, a portfolio summary .docx, and a formatted portfolio .xlsx. Validation gates. Numbers reconcile with Power BI to the dollar. Repo/folder + sample output for 2026-09
8 Hand-off Output to a SharePoint folder triggers a flow notifying reviewers (with an approval to "release" the package) Flow + screenshots
9 AI usage Document where AI helped, with sanitized prompts and verification evidence (golden dataset tests) AI use log (1 page)
10 Briefing 10-minute walkthrough for your supervisor: problem, architecture, demo, hours saved, risks, next steps 5–7 slide deck or a live demo

Suggested Capstone Plan

Week Focus Hours
30 Data intake, Power Query pipeline, model, measures (reuse Phase 2 work, harden it) 5
31 Report pages, publishing, RLS, tile alert. Alert + slip-check flows with error handling. 5
32 Python pipeline: reconcile with Power BI, generate the package, hand-off flow 5
33 Testing with a "new month" of data end to end, documentation, AI use log, briefing 5

Capstone Rubric (100 points)

Criterion Points "Excellent" looks like
Data pipeline robustness 15 New month's files process with zero manual edits. Bad rows are captured in QA, not silently dropped.
Model and DAX correctness 20 Star schema with stated grain. EVM measures match the golden dataset and Python to the dollar.
Report design and usability 15 A leader can answer "what needs my attention?" in under 30 seconds. Accessible, consistent, data-as-of shown.
Automation reliability 15 Alerts fire correctly, are logged, and handle failures. Flows documented and co-owned.
Python report quality 20 Professional docx/xlsx output from templates, validation gates, one-command run, logging.
Security and AI governance 10 Fictional data only, documented AI use, sanitized prompts, RLS tested.
Communication 5 Clear briefing that ties the work to time saved and decisions supported.

Stretch goals: incremental refresh, a Power BI paginated report version of the status report, a Teams adaptive card with "Acknowledge" buttons, unit tests (pytest) for the EVM engine, a fictional data generator script that produces a fresh month on demand.