This page is a task-organized reference for DP-600 (Implementing Analytics Solutions Using Microsoft Fabric), the exam behind Microsoft Certified: Fabric Analytics Engineer Associate. It is organized by what you're trying to doin Fabric, not by exam domain name — each row maps a task to the Fabric feature and the official DP-600 objective it belongs to. Use it during final review to jog which tool solves which job. Figures trace to Microsoft's official DP-600 study guide, checked September 7, 2026; where Microsoft has not published a number, the table says so instead of guessing.
Secure an Item
Four access-control layers stack independently — a user can pass one and still be blocked by another.
| I need to… | Use | Notes |
|---|---|---|
| Control who can see a workspace at all | Workspace-level access control | Workspace roles (Admin, Member, Contributor, Viewer) — coarsest layer |
| Control who can see one specific lakehouse, warehouse, or model | Item-level access control | Item permissions, independent of the broader workspace role |
| Restrict which rows a user sees | Row-level security (RLS) | DAX filter expression tied to a security role |
| Restrict which columns a user sees | Column-level security (CLS) | Column permissions on the table/model |
| Restrict entire tables, measures, or objects | Object-level security (OLS) | Object permissions on the semantic model |
| Restrict access to underlying files in OneLake | File-level access control | OneLake data access roles |
| Flag sensitive content for compliance | Sensitivity labels | Applied per item, inherited where Fabric supports it |
| Mark an item as trustworthy/official | Endorsement | Promoted or Certified status on the item |
Move an Item From Dev to Prod
| I need to… | Use | How |
|---|---|---|
| Track semantic model changes in source control | .pbip (Power BI Desktop project) + workspace Git integration | Configure version control for a workspace |
| Promote items from dev to test to prod | Deployment pipelines | Create and configure a deployment pipeline; assign workspaces to each stage |
| Check what breaks before you change something | Impact analysis | Run against downstream dependencies from lakehouses, warehouses, dataflows, and semantic models |
| Push a semantic model update programmatically | XMLA endpoint | Deploy and manage semantic models via the read/write XMLA endpoint |
| Share a reusable model or template | .pbit / .pbids / shared semantic model | .pbit = template, .pbids = data source file, shared semantic model = one model, many reports |
Choose a Semantic Model Storage Mode
| Mode | How it works | Choose it when… |
|---|---|---|
| Import | Data is copied into the model; fastest queries, but refresh required to see new data | Small-to-medium datasets where near-real-time freshness is not required |
| DirectQuery | Every visual queries the source live; no data copy, but slower and source-load-dependent | Very large or frequently changing data where import is impractical |
| Direct Lake on OneLake | Reads Delta tables directly from OneLake without import or a SQL layer in between | Fabric-native lakehouse data where you want import-like speed without a refresh cycle |
| Direct Lake on SQL analytics endpoint | Reads through the lakehouse/warehouse SQL analytics endpoint instead of OneLake directly | When you need the SQL analytics endpoint's views/security layered in front of Direct Lake |
Fallback behavior: Both Direct Lake modes can fall back to DirectQuery if a query cannot be served from memory (for example, a table exceeds guardrails) — know that fallback exists and which mode is falling back, since a scenario may describe symptoms of a silent fallback rather than naming it directly.
Connect To or Discover New Data
| I need to… | Use |
|---|---|
| Browse what data already exists across the org | OneLake catalog |
| Discover live/streaming data sources | Real-Time hub |
| Reference external data without copying it | Shortcuts (OneLake integration) |
| Bring in data for an Eventhouse or a semantic model specifically | OneLake integration for Eventhouse and semantic models |
| Pick where new data should land | Choose between lakehouse, warehouse, or Eventhouse based on the workload shape |
Reshape Data Before Modeling
| I need to… | Objective | Typical tool |
|---|---|---|
| Organize tables for reporting | Implement a star schema | SQL views in a warehouse, or table design in a lakehouse |
| Flatten related tables into one | Denormalize data | SQL view, stored procedure, or Visual Query Editor |
| Roll rows up into summaries | Aggregate data | SQL GROUP BY, Visual Query Editor aggregate step, or DAX |
| Combine two data sources | Merge or join data | SQL joins or the Visual Query Editor's merge step |
| Clean duplicate, missing, or null values | Identify and resolve duplicate/missing/null data | SQL functions, stored procedures, or notebook-adjacent cleanup |
| Fix a column's data type | Convert column data types | SQL CAST/CONVERT or the Visual Query Editor |
| Remove rows that do not belong | Filter data | SQL WHERE, KQL where, or the Visual Query Editor |
Choose the Right Query Language
| I need to… | Use |
|---|---|
| Query a warehouse or lakehouse SQL analytics endpoint | SQL |
| Query an Eventhouse or real-time/streaming data | KQL (Kusto Query Language) |
| Build a measure or calculation inside a semantic model | DAX |
| Filter/aggregate visually without writing code | Visual Query Editor |
| Reshape a Power BI Desktop query with M | Not tested on DP-600 — this is PL-300 territory |
Write DAX Beyond SUM and COUNT
| I need to… | Use |
|---|---|
| Loop a calculation row-by-row over a table | Iterator functions (SUMX, AVERAGEX, and similar) |
| Change the filter context a measure sees | Table filtering functions (CALCULATE, FILTER) |
| Compare a row to preceding/following rows in an ordered table | Windowing functions |
| Reuse one formatting/calculation choice across many measures | Calculation groups |
| Show units, currency, or precision that changes per context | Dynamic format strings |
| Let a report viewer swap which field or measure is shown | Field parameters |
| Return metadata about the current filter context | Information functions |
Speed Up a Slow Report or Refresh
| Symptom | First move |
|---|---|
| A report visual is slow to render | Check query and report-visual performance improvements first |
| A specific measure is slow | Improve DAX performance — check iterators, context transitions, and calculation groups for unnecessary recomputation |
| Direct Lake seems slower than expected | Check for a silent fallback to DirectQuery; confirm which Direct Lake mode (OneLake vs. SQL analytics endpoint) is configured |
| A model refresh takes too long | Implement incremental refresh instead of a full reload |
If the Question Says X, Think Y
Scenario questions describe symptoms and requirements, not feature names. This table maps common phrasing patterns to the concept being tested.
| If the question says… | Think… |
|---|---|
| "...without copying data into the model, updated in near real time..." | Direct Lake |
| "...must never leak into a different tenant/customer's results..." | Row-level or object-level security scoped correctly |
| "...promote a tested change through environments with minimal manual steps..." | Deployment pipelines |
| "...check what else depends on this lakehouse before changing it..." | Impact analysis |
| "...update the model definition from a script or CI/CD pipeline..." | XMLA endpoint |
| "...streaming or time-series data arriving continuously..." | Eventhouse + KQL |
| "...same report field, but the viewer should be able to switch which measure it shows..." | Field parameters |
| "...one calculation-group choice should apply consistently everywhere..." | Calculation groups |
DP-600 Cheat Sheet FAQ
Is this cheat sheet a substitute for the DP-600 study guide?
No. This page is reference-only — tables mapped to tasks, no explanations of why. Read the DP-600 study guide first for context and the PL-300/DP-700 comparisons, then use this page during final review.
Where do the domain names and objectives on this page come from?
Microsoft's official DP-600 study guide page, checked September 7, 2026. Nothing here is estimated or borrowed from another certification.
Why isn't there a fixed exam duration, question count, or price here?
Because Microsoft has not published those figures on the official DP-600 exam or study guide pages as of this writing. Check the official exam page directly before you schedule.
Can I print this page?
Yes — every section is plain text and tables with no interactive elements, so it prints cleanly from any browser's print dialog.
Do I need to memorize every DAX function by name?
You need to recognize which category of DAX function a described requirement calls for — iterator, filter, windowing, or calculation group — not recite every function signature. The table above maps requirement to category.
Is Power Query covered anywhere on DP-600?
No. Power Query and M do not appear in the official DP-600 skills outline. DP-600 tests data preparation through SQL, KQL, and the Visual Query Editor instead.
MSCertQuiz sells practice-exam access for DP-600; this reference was written by the same team that maintains that question bank. Objectives above are sourced from Microsoft Learn's official DP-600 study guide, checked September 7, 2026. Want the reasoning behind these tables, plus how DP-600 compares to PL-300 and DP-700? See the DP-600 certification overview.
Drill What You Just Reviewed
Take a timed DP-600 readiness quiz across all three domains and see exactly which task areas need more review.
Take the DP-600 Readiness Quiz →