Power BI
Beginner 12 min read Power BI

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.

Power BIPower Querysemantic modelreportdashboardPower BI Servicemeasure
Before we start

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
Introduction

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.

Motivation

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.
Think about it

Mental model

Imagine

A restaurant kitchen

Think of

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.

Mechanics

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.

Sources
Power Query
Data model
DAX measures
Report canvas
Service
Real world

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.
Guidelines

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.
Watch out

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.
Root cause analysis

Common issues

Error
Refresh succeeded but the report still shows old numbers
Root cause

The report is bound to an old imported copy or the source view was not actually refreshed

Fix

Re-point the dataset to the current semantic model and confirm the underlying source query ran.

Error
A total row is wrong although every row looks right
Root cause

A measure without CALCULATE is being summed across the total without the filter you expect

Fix

Use CALCULATE with a modifier, or check the row context of the measure.

Error
The same field shows different numbers in two reports
Root cause

Two separate imports of the same table with different transforms or timestamps

Fix

Consolidate onto one shared semantic model and certify it.

When things break

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.
Interviews

Interview checkpoint

Practice

Hands-on lab

Build Your First Power BI Report
25 min · beginner
In progress
Objectives
  • 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

0/5 steps
0%
sandbox · Linux sandbox
$
Try these commands
Test yourself

Quick quiz

0/2
1

Which component transforms and cleans raw data in Power BI?

2

A measure stores a computed number in the table when you write it.

Go deeper

Official documentation