Power BI is Microsoft's business intelligence platform for creating interactive data visualizations and reports from diverse data sources. It combines a desktop application (Power BI Desktop), a cloud service (Power BI Service), and mobile apps into an end-to-end analytics solution. Power BI uses DAX (Data Analysis Expressions) for calculations and Power Query M for data transformation, and now integrates deeply with Microsoft Fabric for lakehouse, real-time analytics, and AI-driven insights. The platform's strength lies in its ability to handle relationships between tables automatically while giving users control over filter context — understanding how context flows through relationships and DAX calculations is the key mental model that makes everything else click.
What This Cheat Sheet Covers
This topic spans 21 focused tables and 295 indexed concepts, 164 flashcards, 7 practice tests with 367 questions. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Data Import and Connection
Every report begins with a choice about how data reaches your model, and that choice shapes performance for the life of the project. The options here trade freshness against speed: Import caches everything in memory for the fastest visuals, DirectQuery leaves the data at the source and queries it per visual, and Direct Lake reads Delta files from OneLake on Fabric capacity. Composite models let you mix them per table, and knowing when to reach for incremental refresh or a reusable dataflow is often what separates a model that scales from one that grinds.
| Method | Example | Description | |
|---|---|---|---|
Home → Get Data → Excel | • Primary method to connect to over 100 data sources including databases, files, cloud services, and web APIs • export a .pbids connection file to point others at the same source. | ||
Connection settings → Import mode | • Loads data into the in-memory VertiPaq engine for the fastest visuals, compressing roughly 10x • the default mode, but data is a snapshot that stays stale until the next refresh. | ||
Connection settings → DirectQuery mode | • Imports nothing and sends a native query to the source for every visual • fresher than Import and avoids persisting a copy, but normally slower. | ||
OneLake catalog → Connect → Direct Lake | • Loads Delta/Parquet columns from OneLake on demand into the same VertiPaq engine Import uses • its refresh only reframes metadata, so it takes seconds (Fabric capacity only). | ||
Get Data → Analysis Services → Live | • Connects to an existing model (SSAS, Power BI semantic models) without importing data or authoring a new one • modeling is disabled apart from report-level measures. | ||
Multiple sources with mixed Import/DirectQuery | • Sets storage mode per table, mixing Import, DirectQuery, and Direct Lake in one model • a Dual table acts as either, whichever a query needs, which cuts limited relationships. | ||
Power BI Service → Create dataflow | • Reusable ETL logic stored in Fabric or Power BI Service • transforms data once and reuses it across multiple semantic models, on its own refresh schedule. | ||
Table → Incremental refresh settings | • Refreshes only new or changed rows, driven by the reserved RangeStart/RangeEnd date parameters• the filter must fold to the source, and the first refresh still loads all history. | ||
Power Query → Manage Parameters | • Stores a reusable value for query steps and custom functions, so dev/prod switching is one edit • queries receive Current Value, not Default Value. |