Power BI Fundamentals
Desktop, Service and the model between them
Power BI is a desktop-plus-cloud analytics stack: Power Query imports data, the data model holds relationships and DAX measures, and reports render in Power BI Service. Knowing which piece does which job is half the battle for new users.
What you will learn
- Name the parts of the Power BI stack and what each one owns
- Distinguish a measure from a calculated column and a report from a dashboard
- Trace a refresh from a source system all the way to a tile in the Service
What is this?
Power BI is a set of tools for turning data into interactive reports. Power BI Desktop builds the solution (import, transform, model, visualize), Power BI Service publishes and shares it in the cloud with refresh and row-level security, and Power BI Report Server hosts reports inside a corporate network. The semantic model sits in the middle: a stored, optimized query engine that serves fast answers to every report built on it.
Why do you need it?
- Excel answers one sheet at a time; Power BI answers across millions of rows with a single drag.
- A semantic model means analysts define the same numbers once, so every dashboard agrees.
- Governance lives in the Service: who can see which rows, and who can edit which datasets.
- It is the most widely deployed BI tool, so Power BI skills transfer across teams.
Mental model
A restaurant kitchen
The Power BI stack
Power Query is the pantry prep (washing and chopping ingredients), the data model is the pantry and prep list (what is actually available and how items relate), DAX measures are the recipes (compute on demand), and reports are the plates served from the same kitchen — every plate relies on the same prepped ingredients.
How it works
- Power Query extracts, cleans and shapes raw data into tables you can model.
- The data model stores tables with relationships and compresses them for fast in-memory queries.
- DAX measures compute answers at query time — a measure is a recipe, not a stored number.
- The report canvas places visuals bound to measures and fields.
- Power BI Service stores the report, refreshes the model on schedule and enforces access rules.
How a Power BI solution is built and served.
In production
- An ops team publishes one shared sales model; finance and field teams build separate reports that query the same measures, so revenue never disagrees.
- A European bank refreshes its regulatory cube every night at 5:00 UTC, with Service refresh logs paging an owner if a load slips past 6:30am.
- A BI team publishes a certified dataset with row-level security so regional managers only ever see their own territory's rows.
Best practices
- Keep queries in Power Query and business logic in measures, never mixed randomly across tables.
- Name measures like units of analysis: 'Total Order Value (USD)' not 'Sum of amount'.
- Structure the model as a star schema: one fact table, small lookup dimensions.
- Publish one certified dataset and let reports connect to it instead of each report importing its own copy.
Common mistakes
- Building labels and formatting inside code instead of in the model, so every measure duplicates logic.
- Keeping a giant flat table because 'joins are hard', then fighting duplicated row totals.
- Editing the published dataset in Service while fights happen in Desktop.
- Serving a dashboard from a laptop that must stay switched on 24/7.
Common issues
Refresh succeeded but the report still shows old numbersThe report is bound to an old imported copy or the source view was not actually refreshed
Re-point the dataset to the current semantic model and confirm the underlying source query ran.
A total row is wrong although every row looks rightA measure without CALCULATE is being summed across the total without the filter you expect
Use CALCULATE with a modifier, or check the row context of the measure.
The same field shows different numbers in two reportsTwo separate imports of the same table with different transforms or timestamps
Consolidate onto one shared semantic model and certify it.
Debugging tips
- Check whether a number changes when you remove other visuals — that usually means a missing CALCULATE or a bad relationship.
- To see what Power Query produced, compare row counts at the 'Leave' vs 'Enter' step of a transformation.
- Use DAX Studio to see the query generated for a slow visual.
- Turn on performance analyzer in the View tab to time each visual.
Interview checkpoint
Hands-on lab
- Impress a CSV through Power Query
- Build a two-table model with a relationship
- Write one DAX measure and render two visuals in a report
- Publish the report to the Service
Build Your First Power BI Report
25 min · beginner
Quick quiz
Which component transforms and cleans raw data in Power BI?
A measure stores a computed number in the table when you write it.