Week 6 · Deliver BI people trust › Day 42
Day 42. Proof 6: chain-dashboards, BI people can trust
By the end of today you can
- Ship a Power BI report (PBIP), an open-source twin, and an automated daily email
- Show RLS, freshness and reconciliation evidence
- Present it so a non-technical manager understands it in a minute
1. What you're shipping
chain-dashboards: on the marts from Proofs 3–5:
- Power BI (PBIP in git): QSR ops page, hotel revenue page, drill-through, 25 documented measures, RLS roles, freshness banner.
- Open-source twin in Metabase (or Superset/Evidence) on Postgres.
- Daily email report from Dagster: HTML + CSV, partial-data banner, idempotent.
- Reconciliation: the R104 bridge and a daily control-total check.
Acceptance criteria
| # | Requirement | Proof |
|---|---|---|
| 1 | PBIP committed; measures have descriptions and folders | repo |
| 2 | 5 measures cross-checked against SQL | docs/measure-tests.md |
| 3 | RLS roles tested with View as | screenshots |
| 4 | "Data as of" from the audit table; missing-source banner | screenshot on a day with a missing source |
| 5 | Metabase twin + costed tool comparison | docs/bi-comparison.md |
| 6 | Email report with sent-guard and test mode | Dagster run + received email screenshot |
| 7 | Reconciliation doc + waterfall | docs/reconciliation/ |
| 8 | Design notes: audiences, questions, what was left out | README |
2. Making it viewable for reviewers
Reviewers won't install Power BI. Give them: screenshots (PNG at the top of the README), a 60–90 second video, the PBIP for anyone who wants to open it, and optionally a public Metabase/Evidence version deployed with synthetic data only. Power BI's Publish to web creates a public link but is often disabled by tenant admins and must never be used with real company data; with synthetic data on your own tenant it's acceptable if allowed.
Maths and principle
Principle: a report's credibility is the product of its links: correct data, correct measures, correct presentation, on time. One weak link drops the whole.
Equation: \(P(\text{trusted}) \approx P(\text{data}) \cdot P(\text{measures}) \cdot P(\text{fresh}) \cdot P(\text{clear})\). Four links at 95% each give \(P = 0.95^4 \approx 81\%\). Raising the weakest link improves the product most.
Analogy: a chain of detectors in coincidence: overall efficiency is the product. Where it breaks: links aren't independent (a late file affects both freshness and correctness), but the lesson holds: find the weakest link.
Try it: data 99%, measures 90%, fresh 97%, clear 95%. Which improvement to 99% helps most? (Measures: product rises from ≈ 0.82 to ≈ 0.90.)
Your story
"I delivered the same restaurant and hotel marts through Power BI and Metabase. The Power BI model is in git as PBIP with 25 documented measures cross-checked against SQL, RLS by region and brand, and a 'data as of' label from the pipeline's audit table, so a late hotel file shows as a banner rather than a fake drop in occupancy. A store challenged one month's sales; my bridge explained the gap as tax, business-day timing and refunds, with a $150 residual traced to two quarantined receipts. That's why there's now a daily control-total check."
Build checklist
- Tidy pages; consistent colours; mobile layout for KPI page.
- Screenshots + video; README with design notes.
- Ensure all data in PBIX/PBIP is synthetic; no credentials in connection metadata (parameters only).
- Final run: generate fresh data, run Dagster end to end, refresh, email; record times in the README.
Check yourself
1. Reviewers don't have Power BI. What's the best way to show your report?
Make it effortless to see; never expose real data.
2. Which link usually breaks trust most often in BI?
That's why measures get cross-checked against SQL.