Last-minute reference for DP-600. Prepare data is the largest domain (45–50%); semantic models and maintaining the solution share the rest. This sheet follows the outline that applies from October 19, 2026.
Exam facts
| |
|---|
| Duration | 100 minutes |
| Passing score | 700 / 1000 |
| Questions | Not published |
| Domains | Maintain 25–30%, Prepare data 45–50%, Semantic models 25–30% |
| Renewal | 12 months, free online assessment |
Which store
| Item | Language | Use for |
|---|
| Lakehouse | Spark; read-only T-SQL endpoint | Files, Delta tables, notebooks |
| Warehouse | T-SQL, full DML | Relational, transactions, procedures |
| Eventhouse | KQL | Streaming, time-series |
Getting data in
| Need | Use |
|---|
| No copy, data stays where it is | Shortcut |
| Near-real-time replica of a database | Mirroring |
| Scheduled bulk load | Pipeline copy activity |
| Low-code Power Query shaping | Dataflow Gen2 |
| Code transformation | Notebook |
| Load files into a warehouse | COPY INTO |
| Discover items / streams | OneLake catalog / Real-Time hub |
- Latest row per key:
ROW_NUMBER() OVER (PARTITION BY k ORDER BY d DESC), keep 1. - Replace nulls:
COALESCE(col, 0). - No matching rows: left join, then
WHERE right.key IS NULL. - Flatten snowflake: join to one dimension.
- Filter rows:
WHERE; filter groups: HAVING.
KQL and DAX syntax
Events | where Time > ago(1h) | summarize count() by Device
EVALUATE SUMMARIZECOLUMNS(Product[Category], "Sales", [Total Sales])
DAX: VAR ... RETURN for reuse; CALCULATE changes filter context; iterators (SUMX) go row by row; OFFSET and WINDOW are relative to the current row.
Security layers
| Layer | Tool |
|---|
| Workspace | Admin, Member, Contributor, Viewer |
| One item | Item sharing and permissions |
| Rows | RLS (security policy in warehouse; DAX role in model) |
| Columns | Column-level security; dynamic data masking for display |
| Tables/columns in a model | Object-level security |
| Files and folders | OneLake security roles |
| Classification | Sensitivity labels |
| Trust | Promoted, Certified (authorised group), master data |
Lifecycle
| Need | Use |
|---|
| Source control | Git integration, .pbip project |
| Promote dev, test, prod | Deployment pipeline |
| Different data source per stage | Deployment rule |
| What breaks if I change this | Impact analysis |
| External tools writing to a model | XMLA endpoint, read/write |
| Reuse design / connection / model | .pbit / .pbids / shared semantic model |
Semantic models
| Mode | Remember |
|---|
| Import | Fast, refreshed |
| DirectQuery | Live, source-bound speed |
| Dual | Dimension in composite models |
| Direct Lake | Delta in OneLake; refresh is framing |
- Direct Lake on OneLake: no DirectQuery fallback.
- Direct Lake on SQL analytics endpoint: can fall back to DirectQuery.
- Incremental refresh:
RangeStart and RangeEnd date/time parameters. - Calculation group:
SELECTEDMEASURE(). Field parameter: switch fields. - Bridge table: resolves many-to-many.
Common traps
- You cannot UPDATE tables through a lakehouse SQL endpoint.
- Endorsement is trust, not access.
- Higher workspace roles can bypass data-level security.
- Field parameters do not rewrite logic.
- Check the outline date for your language.
More depth: exam format, practice test, exam tips.