learn-business-intelligence-with-phoebe / Builder session 10 of 10
Learn Business Intelligence with Phoebe · Builder track · Session 10 of 10

BI at scale + the modern stack

The finale. Everything the mini-BI did in one browser tab, companies do at industrial scale: semantic layers with git review, performance engineering on 100-million-row models, lakehouse storage modes, and Copilot writing report pages over governed definitions. Tonight we zoom out - how the ideas you built with map onto Power BI, Looker, dbt, and Fabric in 2026, and exactly which certification to book next.

🔴 Builder track Practitioners: analysts · DE · DS · PMs Finale
0-3 · Welcome 3-20 · Semantic layers + performance 20-42 · The 2026 stack + your cert roadmap 42-45 · Q&A
Part 0

The last session zooms out

Nine sessions inside Daybreak taught you the durable mechanics: star schemas, governed measures, chart grammar, security, and one full investigation. This session connects those mechanics to the tools your company actually runs. The bibox was never a toy - it is a scale model. Every "pick a dimension, press Show SQL" moment maps to a production feature you can now name, evaluate, and put on your resume.

Live - presented in session Self-study - read after class ▶ Mini-BI - interactive playground Official sources covered
★ What you walk out with today The semantic layer across vendors (Power BI, Looker, dbt) and why definitions-as-code wins, a four-move performance playbook with the two diagnosis tools PL-300 tests, the 2026 stack map (Fabric, DirectLake, Copilot-era BI), and a concrete certification roadmap with a booked-date challenge at the end.
Part 1 · covers Power BI semantic model, LookML, and dbt MetricFlow docs (concept level)

The semantic layer, industrial edition 8 min live

Everything the bibox did - turn a declaration ("revenue by city") into SQL - is what a semantic layer does for a living: a governed metadata layer between the warehouse and BI consumption that centralizes business definitions so every tool computes the same numbers. The vendors package it differently, but it is one idea wearing three outfits.

Vendor flavorWhat it is calledWhere definitions liveWho edits it
Power BISemantic model (renamed from "dataset", Nov 2023) - star schema + DAX measures + business terminology as a single source of truthInside the Power BI modelBI developers
LookerLookML - dimensions, measures, views, models, and Explores; Looker generates the SQL from the modelCode files in gitAnalytics engineers
dbtdbt Semantic Layer, powered by MetricFlow - metrics defined once in YAML over semantic models (entities, dimensions, measures) forming a semantic graph. "Define once, use everywhere." Apache 2.0, dbt 1.6+YAML in the dbt repoAnalytics engineers
Warehouse one source of rows Semantic layer PBI semantic model star + DAX measures Looker LookML views + Explores in git dbt MetricFlow metrics in YAML, once Dashboards exec + self-serve Spreadsheets connected, not exported AI agents Copilot + copilots' kin Define "revenue" once in the layer. Every consumer - human or AI - computes the same number.
🔍 Click to zoom - one warehouse, one layer of definitions, many consumers
LiveWhich layer wins?3 min

The boring, correct answer: the one closest to where your definitions already live. Microsoft shop with BI developers who own the model? The Power BI semantic model is already your layer. Analytics engineers who live in git? LookML or dbt MetricFlow - because definitions-as-code gets you pull requests, review, and history on every metric change.

  • The strategic point: definitions-as-code + git review = metric governance that actually scales. This is the a3 idea ("one number, one truth") engineered - a metric change becomes a reviewed diff, not a Tuesday-afternoon edit nobody saw.
  • The anti-pattern: definitions living in four tools at once. That is how two dashboards disagree about March revenue - which you now know from experience is a very expensive meeting.
Real world

The metric PR. At dbt-shaped companies, changing the definition of "active customer" looks exactly like changing application code: open a pull request on the YAML, a colleague reviews the diff, CI checks it, merge, and every dashboard updates together. Compare that to editing a measure inside one workbook and hoping the other twelve copies get the memo.

Self-studyBI as a consumer of dbt3 min read

An increasingly common 2026 architecture: transform in dbt, define metrics once in MetricFlow YAML, and let Power BI or Looker read those definitions instead of redefining them. The BI tool keeps what it is great at - visuals, interaction, distribution - and stops being the place business logic hides.

  • Why teams do it: one semantic graph serves BI, notebooks, and AI agents alike - "define once, use everywhere" is the whole pitch.
  • What to watch: the join is still maturing; not every BI feature understands every MetricFlow metric type. Pilot with your top ten metrics before betting the company.
  • Daybreak mapping: our bibox measures (revenue, orders, AOV) are exactly what would move into YAML first.
Part 2 · covers PL-300 "Optimize model performance"

Performance - why dashboards get slow 8 min live

Every slow dashboard traces back to a small set of causes, and PL-300 tests the same four fixes pros reach for. The skill is not memorizing them - it is diagnosing which one applies, using tools that show you what the visual actually asked the model to do.

Visual is slow users complain Perf Analyzer which visual, how long DAX query view what query it ran Model fix pick from the 4 Fix 1 · Reduce granularity daily rows, not per-second events Fix 2 · Remove unused rows + columns import less; every column costs memory Fix 3 · Measures over calculated columns compute at query time, not in storage Fix 4 · Fix relationship problems bi-directional everywhere = slow + ambiguous Diagnose first, fix second. Guessing fixes without the analyzer is how weekends disappear.
🔍 Click to zoom - the diagnosis funnel and the four fixes PL-300 expects you to know
LiveSeeing the query is the whole trick3 min

Power BI's Performance Analyzer tells you which visual is slow; DAX query view shows the exact query that visual generated. Our playground's Show SQL button is the toy version of exactly that pair. Press it below and read the query - being able to SEE what the tool generated is how professionals debug slowness instead of guessing.

In Power BI / In Tableau Power BI: Performance Analyzer (ribbon) + DAX query view (Desktop). Tableau's equivalent is the Performance Recorder plus the query log. Same discipline everywhere: find the slow visual, read its generated query, then fix the model - not the chart.
LiveThe granularity lever3 min

The biggest single lever is almost always granularity. Picture a 100-million-row fact table logging every per-second event, feeding an exec dashboard that only ever shows monthly revenue by city. Aggregate it to one row per day per city and the dashboard is identical - on roughly 1000x less data.

  • Ask of every fact table: what is the finest grain any visual actually displays? Store that, aggregate the rest upstream.
  • Daybreak's events table is the local example: no exec view needs individual events, so a daily rollup would serve every chart we built in b5-b7.
  • This is also fix 2 in disguise: fewer rows AND you get to drop the columns only the raw grain needed.
Part 3 · covers Fabric/DirectLake docs (concept) + PL-300 Copilot sub-skills

The 2026 stack: Fabric, DirectLake, Copilot-era BI 7 min live

Fabric is Microsoft's lake-centric platform: one lakehouse under everything, with Power BI as its face. Its headline trick, DirectLake, reads delta files in the lake directly - near-import speed with near-live freshness. Remember b1's import-vs-live trade-off? DirectLake is that trade-off dissolving: when the lake IS the source, you stop choosing between a fast copy and a fresh query. And on top of the governed model now sits Copilot - which is why the semantic layer matters more in the AI era, not less.

LiveDirectLake in one breath2 min

DirectLake = Fabric-only storage mode that reads lake files directly: near-import speed, near-live freshness, no scheduled copy. PL-300 now frames the storage-mode question as choose between DirectLake, DirectQuery, and Import. The b1 decision tree still applies - DirectLake just adds a third branch that wins when your data already lives in a Fabric lakehouse.

  • Import: fast, snapshot-stale, needs refresh - still the default outside Fabric.
  • DirectQuery: always fresh, only as fast as the source.
  • DirectLake: both, if (and only if) the lakehouse is your source.
Real world

Copilot is on the exam now. PL-300 (skills as of April 2026) tests four Copilot sub-skills: build a narrative visual with Copilot, have Copilot create report pages, have it suggest page content, and have it summarize the semantic model. Notice what all four have in common: they only produce trustworthy output over a well-modeled, well-named semantic model. Garbage star schema in, confident garbage narrative out.

Self-studyWhat stays true when tools churn3 min read

BI increasingly serves AI agents, not just humans. An agent asked "why did revenue dip in March?" needs exactly what a human analyst needed in b9: governed definitions, a sound model, and queryable history. The tools will keep churning; this course bet on the durable 80% that survives every rebrand:

  • Star schemas - every semantic layer, every vendor, still models facts and dimensions (b3).
  • Governed measures - define once, agree everywhere; now also what keeps AI answers honest (b4, a3).
  • Chart grammar - question → dimension + measure → chart never changed (b5-b7).
  • The investigation loop - notice, decompose, isolate, explain (b9). Copilot can draft the narrative; you still own the reasoning.
Part 4 · covers PL-300 + Tableau cert guides (roadmap level)

Your cert roadmap + where next 7 min live

You have quietly covered most of two certification syllabi. Here is the honest map - what this track already taught you, what the exams weight it at, and what you still owe the vendors.

This coursePL-300 domain (weight)Tableau Data Analyst domain (weight)
b2 · shape the dataPrepare the data (25-30%)Connect & Transform (24%)
b3 + b4 · star schema + measuresModel the data (25-30%)spread across domains - Tableau models less formally
b5-b7 · charts, dashboards, interactionVisualize and analyze the data (25-30%)Explore & Analyze (41%) + Create Content (26%)
b8 · refresh, share, secureManage and secure (15-20%)Publish & Manage (9%)
b9 · the March dipapplied analytics - the scenario questionsthe hands-on lab, in spirit
b10 · this sessionOptimize model performance + landscapelandscape
Exam logistics, one line each PL-300: 100 minutes, passing score 700, renews annually with a free online assessment. Tableau Desktop Specialist: 60 minutes, 30 questions, never expires - the gentle first step. Tableau Certified Data Analyst: 120 minutes including a hands-on lab, valid 2 years.
Self-studyWhat this course deliberately did NOT cover3 min read

Honesty section. The tool-agnostic core is yours; these stayed with the vendors on purpose:

  • Power BI Desktop click-paths - which ribbon, which pane. Get it from the free MS Learn PL-300 paths; it is muscle memory, not concept.
  • Deep DAX syntax - CALCULATE, filter context, time intelligence. MS Learn plus Maven Analytics go deep.
  • Paginated reports - the pixel-perfect invoice-style corner of PL-300. MS Learn module.
  • Tableau Prep authoring - Tableau's data-prep tool. Tableau eLearning covers it.
  • Fabric administration - capacities, tenant settings. MS Learn's Fabric paths, when your org actually adopts it.
LiveThe 30-day plan2 min
  • Week 0: pick ONE cert - PL-300 if your company runs Microsoft, Tableau Data Analyst if it runs Tableau. Undecided? PL-300 has the bigger job market pull.
  • Weeks 1-3: one MS Learn path (or Tableau eLearning unit) per week, in the tool, hands on keyboard.
  • Week 4: rebuild the b9 March-dip investigation in the real tool, end to end - import Daybreak-like data, model it, build the exec page, write the narrative.
  • Then book the exam. Deadlines create study; study without a date creates browser tabs.
Demo 1 of 2

Optimize the Daybreak model on paper ★ 10 min · everyone works

No new tool tonight - instead, the exercise pros do before touching any tool: audit a model against the four fixes. Daybreak is small enough to hold in your head and structurally identical to the 100-million-row version you will meet at work.

Audit for fix 2 (unused columns). Walk the six tables. If the exec dashboard only shows revenue, orders, and customers by month/city/plan - which columns would you drop from a real Daybreak import? (Start with customers.signup_date vs events - which earns its memory?)

Audit for fix 1 (granularity). The events table logs every customer event. What grain does the exec view actually need - per event, per day, per month? Write the one-line aggregation you would push upstream.

Simulate Performance Analyzer thinking. Build the chart below, press Show SQL, and read the joins. Ask of each: is this join needed for THIS visual? That question is 80% of a real DAX query view session.

Real world

The audit before the rebuild. Consultants charge serious money for exactly what you just did: list the visuals, find the finest grain any of them displays, list the columns none of them touch, and hand back a model half the size and twice the speed. The four fixes are the whole checklist.

Demo 2 of 2

Your turn: place your company on the stack map ★ 8 min · your context

The finale exercise is about YOUR stack, not Daybreak's. Three questions - answer them for the company you work at (or the one you want to work at), and you have your personal b10 takeaway.

LiveQ1 · Where do your definitions live today?3 min

Where is "revenue" defined at your company - a Power BI model? LookML? dbt YAML? A SQL snippet passed around Slack? Someone's spreadsheet? Naming the current home honestly is step one; most companies discover the answer is "in four places, disagreeing".

LiveQ2 · Which semantic layer fits?3 min

Apply Part 1's rule: the layer closest to where definitions already live. Microsoft shop, BI-developer-owned → Power BI semantic model. Git-native analytics engineering team → LookML or dbt MetricFlow. Write one sentence: "Our metric definitions should live in ___ because ___." That sentence is a very good thing to say in your next architecture meeting.

LiveQ3 · Which cert matches your stack?2 min

Power BI shop → PL-300. Tableau shop → Desktop Specialist first if you want a fast win (no expiry), Data Analyst if you want the one with the hands-on lab. Looker/dbt shop → skip vendor certs for now and put the metric PR from Part 1 into practice instead; it will teach (and signal) more.

Homework

Try it yourself - this month ◐ the big one

Source material

Official sources covered

The finale closes out the optimization domain and maps the whole track back to the vendor curricula. This page covers:

PL-300 · Optimize model performance - four fixes, Performance Analyzer, DAX query viewPart 2 + Demo 1 · full conceptual coverage
Power BI semantic model + Fabric/DirectLake docsParts 1 + 3 · concept level; Fabric admin stays with MS Learn
LookML + dbt MetricFlow docsPart 1 · concept level; authoring stays with vendor docs
PL-300 · Copilot sub-skills (narrative visual, create pages, suggest content, summarize model)Part 3 · named and framed; hands-on requires a Fabric tenant
Tableau cert guides · Desktop Specialist + Certified Data AnalystPart 4 · roadmap level - domains, weights, logistics
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · A report user says one visual takes ten seconds to load. Your FIRST tool?

Diagnose before fixing: Performance Analyzer identifies the slow visual, THEN DAX query view shows the query it ran, THEN you pick one of the four fixes. Jumping straight to a fix is guessing.

2 · What is DirectLake's promise?

DirectLake (Fabric-only) reads delta files in the lakehouse directly - dissolving the b1 import-vs-live trade-off when the lake is your source. A describes DirectQuery; B describes Import.

3 · Where do LookML definitions live?

LookML is definitions-as-code: dimensions, measures, views, models, and Explores in git files, edited by analytics engineers - which is exactly what makes metric governance scale.

Builder session 10 cheat sheet · pin this

Semantic layerGoverned definitions between warehouse and consumption. PBI semantic model / LookML / dbt MetricFlow - one idea, three outfits.
Definitions-as-codeGit + review on metric changes = governance that scales. The a3 idea, engineered.
The 4 perf fixesReduce granularity · remove unused rows/columns · measures over calculated columns · fix relationships.
Diagnosis pairPerformance Analyzer (which visual) → DAX query view (what query). Show SQL was the toy version.
DirectLakeFabric-only: reads lake files directly - near-import speed, near-live freshness. b1's trade-off, dissolved.
The durable 80%Star schemas · governed measures · chart grammar · the investigation loop. Survives every tool churn - and feeds the AI agents too.
PL-300100 min, pass 700, free annual renewal. Domains: Prepare 25-30 · Model 25-30 · Visualize 25-30 · Manage 15-20.
Tableau certsDesktop Specialist: 60 min, 30 Qs, no expiry. Data Analyst: 120 min incl hands-on lab, 2 yrs.