5.3. Data Visualization with Power BI
💡 First Principle: Power BI translates raw data into visual stories that business users can understand and act upon. The key insight is that visualization is communication—the chart you choose determines whether your audience understands your message or misses it entirely. A pie chart showing trends over time is as wrong as speaking French to someone who only understands English.
What breaks with poor visualization choices? Show executives a 50-column data table, and they'll ignore your insights. Use a pie chart with 20 slices, and no one can compare values. Display a line chart for categorical data, and the implied continuity misleads viewers. Visualization best practices exist because our brains process visual patterns in specific ways.
Consider this: you need to show how sales have changed over the past 12 months. A table of numbers requires mental arithmetic; a line chart reveals the trend instantly. Same data, different comprehension.
Connectivity Modes: Import vs DirectQuery
💡 First Principle: You either bring the data to Power BI or leave it where it is. Everything else about refresh follows from that one choice.
| Mode | How it works | Strengths | Costs |
|---|---|---|---|
| Import | Data is copied into the Power BI model and held in memory | Fastest visuals, full DAX, works offline | Data is a snapshot — it is only as fresh as the last refresh |
| DirectQuery | Each visual sends a query to the source at view time | Always current, no size limit from the model | Slower interaction, and the load lands on the source system |
Scheduled refresh is what keeps an Import model current. You configure it in the Power BI Service (not Desktop): pick the frequency and Power BI re-pulls the data on that schedule. A Pro workspace allows up to 8 refreshes a day; Premium and Fabric capacities allow considerably more. Refreshing a source behind a firewall also requires an on-premises data gateway.
Trap: "real-time" and "Import mode" are incompatible in an exam answer. If the requirement is to see changes the moment they happen, the answer is DirectQuery; if the data may be a few hours old, Import with a scheduled refresh is cheaper and faster.
Licensing: Who Can Do What
| License | What it allows |
|---|---|
| Free | Build reports in Power BI Desktop and use your own personal workspace. You cannot share |
| Pro | Publish to shared workspaces, share dashboards and reports, and consume other people's Pro content |
| Premium Per User (PPU) | Everything in Pro plus the premium features — larger models, more frequent refreshes, paginated reports |
| Premium / Fabric capacity | Organisation-wide capacity. On Premium (P-SKU) or Fabric F64 or larger, viewers need no licence of their own. On smaller Fabric SKUs (F2–F32) every viewer still needs Pro or PPU |
Trap: installing Power BI Desktop is free and always has been — no licence is involved. The moment anything is shared, a Pro (or Premium) licence enters the picture.
Row-Level Security (RLS)
Row-level security filters the data itself according to who is viewing the report. You define a role with a DAX filter — for example [Region] = USERPRINCIPALNAME() — and assign users to it. A sales manager opening the report sees only their own region's rows, from the same report and the same model everyone else uses.
Trap: RLS is not the same as workspace permissions. Workspace access decides whether you can open the report at all; RLS decides which rows you see once you are in. If a question asks how to let one report serve many managers while showing each only their own data, that is RLS.