Logan's Analytics Bootcamp
Dashboard β€Ί Phase 2: Power BI
M2.7

Publishing, Sharing, Security, and Refresh

⏱ 5 hoursπŸ“… Week 14❓ 4 quiz questions
Phase 2 goal

Build governed, refreshable, interactive program dashboards. Get data in shape with Power Query M, model it as a star schema, calculate it with DAX, present it well, and publish it securely.

🎯 Learning objectives

Tick each one when you can actually do it.

πŸ’‘ Key concepts

  • Workspaces and roles: Admin, Member, Contributor, Viewer. Keep a dev/practice workspace separate from production.
  • Apps: The polished way to distribute reports to consumers (with audiences).
  • Scheduled refresh: Credentials for cloud sources, gateway for on-premises sources, refresh failure notifications. Refresh frequency depends on license and capacity.
  • Row-level security:
    // Role "Portfolio Lead": table filter on dim_Program
    dim_Program[PortfolioLeadEmail] = USERPRINCIPALNAME ()
    
    Test with "View as role" in Desktop and the Service. RLS restricts rows for viewers. It doesn't apply to workspace Admins/Members/Contributors.
  • Data alerts and subscriptions: Alerts on card/KPI/gauge tiles pinned to a dashboard. These trigger Power Automate in Phase 3. Subscriptions email snapshots on a schedule.
  • Sensitivity labels (Microsoft Purview, if your tenant uses them) follow data into exports. Pick labels according to your organization's marking policy.
  • Version control: Save .pbix copies with dates, or use the PBIP (Power BI Project) format, which stores the model and report as text files that work with Git.
  • Government clouds: GCC/GCC High/DoD Power BI have their own URLs and sometimes lag in features. Check what your tenant supports.

πŸ›  Hands-on exercise: Publish and Secure

⬇ 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

Data: your report from 2.6 + add PortfolioLeadEmail to dim_Program (map each portfolio to a test email: yours for one, fake for the others).

  1. Publish to your practice workspace.
  2. Set up the data source credentials and a daily scheduled refresh.
  3. Create the "Portfolio Lead" RLS role. Test it with "View as" in Desktop and in the Service.
  4. Pin the Portfolio CPI Cum card to a new dashboard and set a data alert (e.g., below 0.95). It'll be used in Phase 3.
  5. Package the workspace as an app (if your license allows) or share the report with one test viewer.

πŸ“¦ Mini-project: Deployment Runbook

A short runbook covering how to refresh, who owns what, what to do when refresh fails, how to add a new program, how RLS is maintained, and where the PBIP/PBIX source lives. Include screenshots.

🧠 Self-check quiz

Answer in your own words, then check. Grade yourself honestly; your score is saved.

Q2.7.1
Does RLS restrict what a workspace Member sees?
Write at least a few words to unlock.
Q2.7.2
When do you need an on-premises data gateway?
Write at least a few words to unlock.
Q2.7.3
Where must a tile be for a Power BI data alert to be set on it?
Write at least a few words to unlock.
Q2.7.4
What's the benefit of the PBIP format?
Write at least a few words to unlock.