This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections: Manage and secure Power BI (15–20%) --> Create and manage workspaces and assets --> Choose a distribution method
Below are 10 practice questions (with answers and explanations) for this topic of the exam. There are also 2 practice tests for the PL-300 exam with 60 questions each (with answers) available on the hub.
Practice Questions
Question 1
You need to distribute a set of certified reports to 300 business users. Users should not be able to modify the reports, and updates should be centrally managed. What is the best distribution method?
A. Share each report individually B. Grant Viewer access to the workspace C. Publish a Power BI app D. Create email subscriptions
✅ Correct Answer: C
Explanation: Power BI apps provide centralized, read-only distribution to large audiences and allow content to be updated without re-sharing. This is the recommended enterprise distribution method.
Question 2
Which distribution method is most appropriate for collaboration among report developers?
A. Power BI app B. Publish to web C. Workspace access D. Dashboard subscription
✅ Correct Answer: C
Explanation: Workspace access allows contributors and members to create, edit, and manage content collaboratively. Apps are designed for consumption, not development.
Question 3
An executive wants to receive a weekly snapshot of a sales dashboard without logging into Power BI. What should you configure?
A. Report sharing B. Power BI app C. Dashboard subscription D. Workspace Viewer access
✅ Correct Answer: C
Explanation: Subscriptions deliver scheduled email snapshots of dashboards or reports and are ideal for passive consumption.
Question 4
Which distribution method should be used only for non-confidential data?
A. Power BI app B. Secure embed C. Workspace Viewer access D. Publish to web
✅ Correct Answer: D
Explanation: Publish to web makes reports publicly accessible with no authentication. It is inappropriate for sensitive or internal data.
Question 5
You share a report with a user, but they cannot see the data. What is the most likely cause?
A. The user lacks workspace access B. The dataset permissions were not granted C. The report is not certified D. Row-level security is disabled
✅ Correct Answer: B
Explanation: Sharing a report does not automatically grant access to the underlying dataset unless permissions are explicitly assigned.
Question 6
Your organization wants users to access Power BI reports inside Microsoft Teams. Which distribution option supports this scenario?
A. Publish to web B. Power BI Embedded C. SharePoint or Teams embed D. Dashboard subscription
✅ Correct Answer: C
Explanation: Power BI reports can be securely embedded in Teams and SharePoint while respecting Power BI permissions.
Question 7
Which distribution method provides the strongest governance and version control?
A. Individual report sharing B. Workspace access C. Dashboard subscriptions D. Power BI app
✅ Correct Answer: D
Explanation: Apps allow controlled publishing, versioning, and consistent delivery of approved content to users.
Question 8
You want to distribute reports to external customers using a custom web application. What is the best option?
A. Publish to web B. Power BI Embedded C. Share reports D. Power BI app
✅ Correct Answer: B
Explanation: Power BI Embedded allows secure integration of reports into custom applications with external users.
Question 9
Which statement about workspace access is true?
A. It is the recommended method for executive distribution B. It restricts users to read-only access C. It is intended for collaboration and content management D. It replaces the need for Power BI apps
✅ Correct Answer: C
Explanation: Workspace access is designed for creators and collaborators, not for broad report consumption.
Question 10
A question on the PL-300 exam describes a scenario involving production reports, a large audience, and controlled access. Which answer is most likely correct?
A. Share reports B. Workspace Viewer access C. Publish to web D. Power BI app
✅ Correct Answer: D
Explanation: These keywords strongly indicate the use of a Power BI app, which is the exam’s preferred answer for governed distribution scenarios.
This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections: Manage and secure Power BI (15–20%) --> Create and manage workspaces and assets --> Publish, import, or update items in a workspace
Below are 10 practice questions (with answers and explanations) for this topic of the exam. There are also 2 practice tests for the PL-300 exam with 60 questions each (with answers) available on the hub.
Practice Questions
Question 1
What happens when you publish a PBIX file from Power BI Desktop to a workspace that already contains a report with the same name?
A. Power BI creates a duplicate report B. Power BI merges the changes C. Power BI overwrites the existing report and semantic model D. Power BI creates a new dataset only
Correct Answer: C
Explanation: Publishing a PBIX with the same name replaces both the report and the semantic model in the workspace. This behavior is commonly tested on the exam.
Question 2
Which workspace role is required to publish content from Power BI Desktop to a shared workspace?
A. Viewer B. Contributor C. Viewer or Contributor D. Viewer or Member
Correct Answer: B
Explanation: A Contributor (or higher) role is required to publish content. Viewers have read-only access and cannot publish or update items.
Question 3
Which method allows you to bring an Excel workbook into a Power BI workspace as a report and dataset?
A. Publish from Power BI Desktop B. Import the Excel file in the Power BI Service C. Copy from another workspace D. Use a deployment pipeline
Correct Answer: B
Explanation: Excel files can be imported directly in the Power BI Service, which creates reports and datasets in the workspace.
Question 4
You need to update a report’s visuals without changing the underlying semantic model. What is the most appropriate action?
A. Delete and recreate the dataset B. Republish the PBIX C. Edit the report in the Power BI Service D. Import the report again
Correct Answer: C
Explanation: If permissions allow, editing visuals in the Power BI Service updates the report without replacing the dataset.
Question 5
Which action requires you to manually update a workspace app for users to see the change?
A. Adding a user to the workspace B. Editing a report in the workspace C. Refreshing a dataset D. Applying row-level security
Correct Answer: B
Explanation: Changes made in the workspace do not automatically appear in the app. The app must be republished.
Question 6
Which item can be edited directly in the Power BI Service without using Power BI Desktop?
A. PBIX file B. Dataflow C. Dataset schema D. Power BI template
Correct Answer: B
Explanation: Dataflows are created and edited directly in the Power BI Service and support centralized data preparation.
Question 7
What is the primary difference between publishing and importing content into a workspace?
A. Publishing creates dashboards; importing does not B. Importing always overwrites existing content C. Publishing is done from Desktop; importing is done from the Service D. Importing does not create datasets
Correct Answer: C
Explanation: Publishing is typically done from Power BI Desktop, while importing occurs within the Power BI Service using files or other sources.
Question 8
Which workspace role can update reports but cannot publish or update a workspace app?
A. Viewer B. Contributor C. Member D. Admin
Correct Answer: B
Explanation: Contributors can publish and update content but cannot manage workspace settings or apps, which is restricted to Members and Admins.
Question 9
You want to move the same report through Development, Test, and Production environments. What is the recommended approach?
A. Use My Workspace B. Import the report multiple times C. Publish the PBIX to multiple workspaces D. Share the report with different users
Correct Answer: C
Explanation: Publishing the same PBIX to separate workspaces supports lifecycle management and environment separation.
Question 10
After importing a PBIX file into a workspace, which action is often required before users can view updated data?
A. Update the app B. Configure data source credentials C. Assign workspace roles D. Enable row-level security
Correct Answer: B
Explanation: Imported datasets often require credential configuration before refreshes can occur and data becomes available.
Exam Tip
If a question mentions:
Overwriting content
Workspace roles
Publishing vs importing
Updating without breaking access
➡️ Focus on workspace permissions, publish behavior, and app update requirements.
This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections: Manage and secure Power BI (15–20%) --> Create and manage workspaces and assets --> Configure and Update a Workspace App
Below are 10 practice questions (with answers and explanations) for this topic of the exam. There are also 2 practice tests for the PL-300 exam with 60 questions each (with answers) available on the hub.
Practice Questions
Question 1
What is the primary purpose of publishing a workspace app in Power BI?
A. To allow multiple developers to edit reports simultaneously B. To provide a read-only, curated experience for report consumers C. To improve dataset refresh performance D. To apply row-level security to reports
Correct Answer: B
Explanation: Workspace apps are designed for content consumption, not development. They provide a controlled, read-only experience for users, which is why they are preferred over direct report sharing for large audiences.
Question 2
Which workspace roles can publish or update a workspace app?
A. Viewer only B. Contributor and Viewer C. Member and Admin D. Contributor and Member
Correct Answer: C
Explanation: Only Members and Admins have permission to publish or update workspace apps. Contributors can create content but cannot manage apps.
Question 3
You update a report in a workspace, but users do not see the changes in the app. What must you do?
A. Refresh the dataset B. Clear the app cache C. Republish or update the app D. Reassign user permissions
Correct Answer: C
Explanation: Changes made in the workspace do not automatically appear in the app. You must explicitly update (republish) the app for consumers to see the changes.
Question 4
Which feature allows different users to see different content within the same workspace app?
A. Row-level security (RLS) B. Dataset roles C. App audiences D. Visual-level filters
Correct Answer: C
Explanation: App audiences control content visibility, allowing different groups to see different reports or dashboards without duplicating content.
Question 5
Which permission allows users of an app to build their own reports using the app’s semantic model?
A. Viewer permission B. Allow reshare C. Build permission D. Admin permission
Correct Answer: C
Explanation: Granting Build permission allows users to connect to the underlying semantic model for scenarios such as Analyze in Excel or creating new reports.
Question 6
What happens to users when a workspace app is updated?
A. They must be re-added to the app B. Their bookmarks are deleted C. They automatically see the updated content D. Their permissions are reset
Correct Answer: C
Explanation: After an app is updated, users retain access and permissions, and the updated content becomes available automatically without additional action.
Question 7
Which scenario is the best use case for a workspace app?
A. Collaborative report development B. Testing new visuals C. Distributing finalized reports to a large audience D. Debugging DAX calculations
Correct Answer: C
Explanation: Workspace apps are ideal for broad distribution of production-ready content, while workspaces remain the collaboration area for developers.
Question 8
Which of the following is true about workspace apps?
A. Users can edit reports in an app B. Apps automatically update when workspace content changes C. Apps provide a controlled navigation experience D. Apps replace the need for workspaces
Correct Answer: C
Explanation: Apps allow creators to control navigation, ordering, and visibility of content. They are read-only and require manual updates.
Question 9
You want to hide a report from most users but make it available to executives using the same app. What should you do?
A. Duplicate the report into a new workspace B. Use row-level security C. Create a separate app D. Use app audiences
Correct Answer: D
Explanation: App audiences allow selective visibility of content without duplication, making them ideal for role-based access to reports.
Question 10
What is the key difference between a workspace and a workspace app?
A. Workspaces support data refresh; apps do not B. Workspaces are for collaboration; apps are for consumption C. Apps allow editing; workspaces do not D. Apps automatically apply security
Correct Answer: B
Explanation: A workspace is where content is created and maintained, while a workspace app is the distribution layer for end users.
Exam Tip
If a question mentions:
Broad distribution
Read-only access
Controlled release
Audiences
Updating without disrupting users
➡️ The correct answer is almost always Workspace App.
This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections: Manage and secure Power BI (15–20%) --> Create and manage workspaces and assets --> Identify when a gateway is required
Below are 10 practice questions (with answers and explanations) for this topic of the exam. There are also 2 practice tests for the PL-300 exam with 60 questions each (with answers) available on the hub.
Practice Questions
Question 1
You publish a Power BI report that imports data from an on-premises SQL Server and want to schedule daily refreshes in the Power BI service. What is required?
A. No additional configuration B. A Power BI app C. An on-premises data gateway D. A premium capacity workspace
Correct Answer:C
Explanation: Scheduled refresh from an on-premises data source requires a gateway to securely connect Power BI service to the local SQL Server.
Question 2
A dataset uses Azure SQL Database in Import mode with scheduled refresh enabled. Is a gateway required?
A. Yes, because scheduled refresh is enabled B. Yes, because Import mode is used C. No, because the data source is cloud-based D. No, because the dataset is small
Correct Answer:C
Explanation: Azure SQL Database is a cloud data source that Power BI can access directly, so no gateway is needed.
Question 3
You create a Power BI report using DirectQuery to an on-premises SQL Server. When users view the report in the Power BI service, what is required?
A. A gateway B. A scheduled refresh C. Import mode D. Power BI Premium
Correct Answer:A
Explanation: DirectQuery sends queries at report view time. A gateway is required for on-premises sources.
Question 4
Which scenario does NOT require a Power BI gateway?
A. Importing data from SharePoint Online B. DirectQuery to an on-premises database C. Refreshing an on-premises dataflow D. Live connection to on-premises SSAS
Correct Answer:A
Explanation: SharePoint Online is a cloud-based service and does not require a gateway.
Question 5
A report combines data from Azure Data Lake Storage and an on-premises file share. What is true?
A. No gateway is required because one source is cloud-based B. A gateway is required for the on-premises source C. A gateway is required for both sources D. Gateways are not supported for mixed data sources
Correct Answer:B
Explanation: Any on-premises data source used in the Power BI service requires a gateway, even in hybrid datasets.
Question 6
While working in Power BI Desktop, you connect to an on-premises SQL Server and refresh data locally. Is a gateway required?
A. Yes, always B. Yes, if Import mode is used C. No, gateways are only needed in the Power BI service D. No, if DirectQuery is used
Correct Answer:C
Explanation: Power BI Desktop connects directly to local data sources. Gateways are only required after publishing to the Power BI service.
Question 7
You want to refresh a Power BI dataflow that connects to an on-premises Oracle database. What is required?
A. Power BI Premium B. A gateway C. A paginated report D. An app workspace
Correct Answer:B
Explanation: Dataflows that use on-premises data sources require a gateway to refresh in the Power BI service.
Question 8
Which connection type always requires a gateway when the data source is on-premises?
A. Import with manual refresh B. Import with scheduled refresh C. DirectQuery D. Both B and C
Correct Answer:D
Explanation: Scheduled refresh and DirectQuery both require a gateway for on-premises data sources.
Question 9
A report uses a Live connection to an on-premises Analysis Services model. What is required?
A. A dataset refresh schedule B. A gateway C. Import mode D. A certified dataset
Correct Answer:B
Explanation: Live connections to on-premises Analysis Services require a gateway for real-time queries.
Question 10
Which factor is the most important when deciding if a gateway is required?
A. Dataset size B. Data refresh frequency C. Location of the data source D. Number of report users
Correct Answer:C
Explanation: Gateway requirements are based on whether the data source is accessible from the cloud or located on-premises.
Exam Tips
On-premises + Power BI service = Gateway
Cloud sources do not require gateways
DirectQuery and Live connections still require gateways
The GENERATE / ROW pattern is an advanced but powerful DAX technique used to dynamically create rows and expand tables based on calculations. It is especially useful when you need to produce derived rows, combinations, or scenario-based expansions that don’t exist physically in your data model.
This article explains what the pattern is, when to use it, how it works, and provides practical examples. It assumes you are familiar with concepts such as row context, filter context, and iterators.
What Is the GENERATE / ROW Pattern?
At its core, the pattern combines two DAX functions:
GENERATE() – Iterates over a table and returns a union of tables generated for each row.
ROW() – Creates a single-row table with named columns and expressions.
Together, they allow you to:
Loop over an outer table
Generate one or more rows per input row
Shape those rows using calculated expressions
In effect, this pattern mimics a nested loop or table expansion operation.
Why This Pattern Exists
DAX does not support procedural loops like for or while. Instead, iteration happens through table functions.
GENERATE() fills a critical gap by allowing you to:
Produce variable numbers of rows per input row
Apply row-level calculations while preserving relationships and context
Function Overview
GENERATE
GENERATE (
table1,
table2
)
table1: The outer table being iterated.
table2: A table expression evaluated for each row of table1.
The result is a flattened table containing all rows returned by table2 for every row in table1.
This is especially useful for timeline visuals or event-based reporting.
Performance Considerations ⚠️
The GENERATE / ROW pattern can be computationally expensive.
Best Practices
Filter the outer table as early as possible
Avoid using it on very large fact tables
Prefer calculated tables over measures when expanding rows
Test with realistic data volumes
Common Mistakes
❌ Using GENERATE When ADDCOLUMNS Is Enough
If you’re only adding columns—not rows—ADDCOLUMNS() is simpler and faster.
❌ Forgetting Table Shape Consistency
All ROW() expressions combined with UNION() must return the same column structure.
❌ Overusing It in Measures
This pattern is usually better suited for calculated tables, not measures.
Mental Model to Remember
Think of the GENERATE / ROW pattern as:
“For each row in this table, generate one or more calculated rows and stack them together.”
If that sentence describes your problem, this pattern is likely the right tool.
Final Thoughts
The GENERATE / ROW pattern is one of those DAX techniques that feels complex at first—but once understood, it unlocks entire classes of modeling and analytical solutions that are otherwise impossible.
Used thoughtfully, it can replace convoluted workarounds, reduce model complexity, and enable powerful scenario-based reporting.
This is your one-stop hub with information for preparing for the DP-600: Implementing Analytics Solutions Using Microsoft Fabric certification exam. Upon successful completion of the exam, you earn the Fabric Analytics Engineer Associate certification.
This hub provides information directly here, links to a number of external resources, tips for preparing for the exam, practice tests, and section questions to help you prepare. Bookmark this page and use it as a guide to ensure that you are fully covering all relevant topics for the exam and using as many of the resources available as possible. We hope you find it convenient and helpful.
Why do the DP-600: Implementing Analytics Solutions Using Microsoft Fabric exam to gain the Fabric Analytics Engineer Associate certification?
Most likely, you already know why you want to earn this certification, but in case you are seeking information on its benefits, here are a few: (1) there is a possibility for career advancement because Microsoft Fabric is a leading data platform used by companies of all sizes, all over the world, and is likely to become even more popular (2) greater job opportunities due to the edge provided by the certification (3) higher earnings potential, (4) you will expand your knowledge about the Fabric platform by going beyond what you would normally do on the job and (5) it will provide immediate credibility about your knowledge, and (6) it may, and it should, provide you with greater confidence about your knowledge and skills.
Important DP-600 resources:
In the section below this one, titled “DP-600: Skills measured as of October 31, 2025“, you will find the “skills measured” topics from the official study guide with links to exam preparation content for each topic. Bookmark this page and use that section as a structured topic-by-topic guide for your prep.
This page provides information for preparing for, practicing for, and registering for the exam. The skills measured content in the guide is also what is used to form the “Skills Measured as of …” outline below.
About the exam:
Cost: US $165
Number of questions: approximately 60
Time to do exam: 120 minutes (2 hours)
To Do’s:
Schedule time to learn, study, perform labs, and do practice exams and questions
Schedule the exam based on when you think you will be ready; scheduling the exam gives you a target and drives you to keep working on it
Use the various resources above and below to learn
Take the free Microsoft Learn practice test, any other available practice tests, and do the practice questions in each section and the two practice tests available in this hub.
Link to the free, comprehensive, self-paced course: Microsoft Learn course for a Microsoft Fabric Analytics Engineer. It contains 4 Learning Paths, each with multiple Modules, and each module has multiple Units. It will take some time to do it, but we recommend that you complete this entire course, including the exercises/labs. To help you work through your preparation in a structured manner, we will point you to the relevant sections in the training material corresponding to each of the sections in the skills measured section below.
Here you can learn in a structured manner by going through the topics of the exam one-by-one to ensure full coverage; click on each hyperlinked topic below to go to more information about it:
Good luck to you passing the DP-600: Implementing Analytics Solutions Using Microsoft Fabric certification exam and earning the Fabric Analytics Engineer Associate certification!
This is a practice exam for the DP-600: Implementing Analytics Solutions Using Microsoft Fabric certification exam. – It contains: 60 Questions (the questions are of varying type and difficulty) – The answer key is located at: the end of the exam; i.e., after all the questions. We recommend that you try to answer the questions before looking at the answers. – Upon successful completion of the official certification exam, you earn the Fabric Analytics Engineer Associate certification.
Good luck to you!
SECTION A – Prepare Data (Questions 1–24)
Question 1 (Single Choice)
You need to ingest CSV files from an Azure Data Lake Gen2 account into a Lakehouse with minimal transformation. Which option is most appropriate?
A. Power BI Desktop B. Dataflow Gen2 C. Warehouse COPY INTO D. Spark notebook
Question 2 (Multi-Select – Choose TWO)
Which Fabric components support both ingestion and transformation of data?
A. Dataflow Gen2 B. Eventhouse C. Spark notebooks D. SQL analytics endpoint E. Power BI Desktop
Question 3 (Scenario – Single Choice)
Your team wants to browse datasets across workspaces and understand lineage and ownership before using them. Which feature should you use?
A. Deployment pipelines B. OneLake catalog C. Power BI lineage view D. XMLA endpoint
Question 4 (Single Choice)
Which statement best describes Direct Lake?
A. Data is cached in VertiPaq during refresh B. Queries run directly against Delta tables in OneLake C. Queries always fall back to DirectQuery D. Requires incremental refresh
Question 5 (Matching)
Match the Fabric item to its primary use case:
Item
Use Case
1. Lakehouse
A. High-concurrency SQL analytics
2. Warehouse
B. Event streaming and time-series
3. Eventhouse
C. Open data storage + Spark
Question 6 (Single Choice)
Which ingestion option is best for append-only, high-volume streaming telemetry?
A. Dataflow Gen2 B. Eventstream to Eventhouse C. Warehouse COPY INTO D. Power Query
Question 7 (Scenario – Single Choice)
You want to join two large datasets without materializing the result. Which approach is most appropriate?
A. Power Query merge B. SQL VIEW C. Calculated table in DAX D. Dataflow Gen2 output table
Question 8 (Multi-Select – Choose TWO)
Which actions help reduce data duplication in Fabric?
A. Using shortcuts in OneLake B. Creating multiple Lakehouses per workspace C. Sharing semantic models D. Importing the same data into multiple models
Question 9 (Single Choice)
Which column type is required for incremental refresh?
A. Integer B. Text C. Boolean D. Date/DateTime
Question 10 (Scenario – Single Choice)
Your dataset contains nulls in a numeric column used for aggregation. What is the best place to handle this?
A. DAX measure B. Power Query C. Report visual D. RLS filter
Question 11 (Single Choice)
Which Power Query transformation is foldable in most SQL sources?
A. Adding an index column B. Filtering rows C. Custom M function D. Merging with fuzzy match
Question 12 (Multi-Select – Choose TWO)
Which scenarios justify denormalizing data?
A. Star schema reporting B. OLTP transactional workloads C. High-performance analytics D. Reducing DAX complexity
Question 13 (Single Choice)
Which operation increases cardinality the most?
A. Removing unused columns B. Splitting a text column C. Converting text to integer keys D. Aggregating rows
Question 14 (Scenario – Single Choice)
You need reusable transformations across multiple datasets. What should you create?
A. Calculated columns B. Shared semantic model C. Dataflow Gen2 D. Power BI template
Question 15 (Fill in the Blank)
The two required Power Query parameters for incremental refresh are __________ and __________.
Question 16 (Single Choice)
Which Fabric feature allows querying data without copying it into a workspace?
A. Shortcut B. Snapshot C. Deployment pipeline D. Calculation group
Question 17 (Scenario – Single Choice)
Your SQL query performance degrades after adding many joins. What is the most likely cause?
A. Low concurrency B. Snowflake schema C. Too many measures D. Too many visuals
Question 18 (Multi-Select – Choose TWO)
Which tools can be used to query Lakehouse data?
A. Spark SQL B. T-SQL via SQL endpoint C. KQL D. DAX Studio
Question 19 (Single Choice)
Which language is used primarily with Eventhouse?
A. SQL B. Python C. KQL D. DAX
Question 20 (Scenario – Single Choice)
You want to analyze slowly changing dimensions historically. Which approach is best?
A. Overwrite rows B. Incremental refresh C. Type 2 dimension design D. Dynamic RLS
Question 21 (Single Choice)
Which feature helps understand downstream dependencies?
A. Impact analysis B. Endorsement C. Sensitivity labels D. Git integration
Question 22 (Multi-Select – Choose TWO)
Which options support data aggregation before reporting?
A. SQL views B. DAX calculated columns C. Power Query group by D. Report-level filters
Question 23 (Single Choice)
Which scenario best fits a Warehouse?
A. Machine learning experimentation B. Real-time telemetry C. High-concurrency BI queries D. File-based storage only
Question 24 (Scenario – Single Choice)
You want to reuse report layouts without embedding credentials. What should you use?
A. PBIX B. PBIP C. PBIT D. PBIDS
SECTION B – Implement & Manage Semantic Models (Questions 25–48)
Question 25 (Single Choice)
Which schema is recommended for semantic models?
A. Snowflake B. Star C. Fully normalized D. Graph
Question 26 (Scenario – Single Choice)
You have a many-to-many relationship between Sales and Promotions. What should you implement?
A. Bi-directional filters B. Bridge table C. Calculated column D. Duplicate dimension
Question 27 (Multi-Select – Choose TWO)
Which storage modes support composite models?
A. Import B. DirectQuery C. Direct Lake D. Live connection
Question 28 (Single Choice)
What is the primary purpose of calculation groups?
A. Reduce model size B. Replace measures C. Apply reusable calculations D. Improve refresh speed
Question 29 (Scenario – Single Choice)
You need users to switch between metrics dynamically in visuals. What should you use?
A. Bookmarks B. Calculation groups C. Field parameters D. Perspectives
Question 30 (Single Choice)
Which DAX pattern generally performs best?
A. SUMX(FactTable, [Column]) B. FILTER + CALCULATE C. Simple aggregations D. Nested iterators
Question 31 (Multi-Select – Choose TWO)
Which actions improve DAX performance?
A. Use variables B. Increase cardinality C. Avoid unnecessary iterators D. Use bi-directional filters everywhere
Question 32 (Scenario – Single Choice)
Your model exceeds memory limits but queries are fast. What should you configure?
A. Incremental refresh B. Large semantic model storage C. DirectQuery fallback D. Composite model
Question 33 (Single Choice)
Which tool is best for diagnosing slow visuals?
A. Tabular Editor B. Performance Analyzer C. Fabric Monitor D. SQL Profiler
Question 34 (Scenario – Single Choice)
A Direct Lake model fails to read data. What happens next if fallback is enabled?
A. Query fails B. Switches to Import C. Switches to DirectQuery D. Rebuilds partitions
Question 35 (Single Choice)
Which feature enables version control for Power BI artifacts?
A. Deployment pipelines B. Git integration C. XMLA endpoint D. Endorsements
Question 36 (Matching)
Match the DAX function type to its example:
Type
Function
1. Iterator
A. CALCULATE
2. Filter modifier
B. SUMX
3. Information
C. ISFILTERED
Question 37 (Scenario – Single Choice)
You want recent data queried in real time and historical data cached. What should you use?
A. Import only B. DirectQuery only C. Hybrid table D. Calculated table
Question 38 (Single Choice)
Which relationship direction is recommended by default?
A. Both B. Single C. None D. Many-to-many
Question 39 (Multi-Select – Choose TWO)
Which features help enterprise-scale governance?
A. Sensitivity labels B. Endorsements C. Personal bookmarks D. Private datasets
Question 40 (Scenario – Single Choice)
Which setting most affects model refresh duration?
A. Number of measures B. Incremental refresh policy C. Number of visuals D. Report theme
Question 41 (Single Choice)
What does XMLA primarily enable?
A. Real-time streaming B. Advanced model management C. Data ingestion D. Visualization authoring
Question 42 (Fill in the Blank)
Direct Lake reads data directly from __________ stored in __________.
Question 43 (Scenario – Single Choice)
Your composite model uses both Import and DirectQuery. What is this called?
A. Live model B. Hybrid model C. Large model D. Calculated model
Question 44 (Single Choice)
Which optimization reduces relationship ambiguity?
A. Snowflake schema B. Bridge tables C. Bidirectional filters D. Hidden columns
Question 45 (Scenario – Single Choice)
Which feature allows formatting measures dynamically (e.g., %, currency)?
A. Perspectives B. Field parameters C. Dynamic format strings D. Aggregation tables
Question 46 (Multi-Select – Choose TWO)
Which features support reuse across reports?
A. Shared semantic models B. PBIT files C. PBIX imports D. Report-level measures
Question 47 (Single Choice)
Which modeling choice most improves query speed?
A. Snowflake schema B. High-cardinality columns C. Star schema D. Many calculated columns
Question 48 (Scenario – Single Choice)
You want to prevent unnecessary refreshes when data hasn’t changed. What should you enable?
A. Large model B. Detect data changes C. Direct Lake fallback D. XMLA read-write
SECTION C – Maintain & Govern (Questions 49–60)
Question 49 (Single Choice)
Which role provides full control over a Fabric workspace?
A. Viewer B. Contributor C. Admin D. Member
Question 50 (Multi-Select – Choose TWO)
Which security mechanisms are item-level?
A. RLS B. CLS C. Workspace roles D. Object-level security
Question 51 (Scenario – Single Choice)
You want to mark a dataset as trusted. What should you apply?
A. Sensitivity label B. Endorsement C. Certification D. RLS
Question 52 (Single Choice)
Which pipeline stage is typically used for validation?
A. Development B. Test C. Production D. Sandbox
Question 53 (Single Choice)
Which access control restricts specific tables or columns?
A. Workspace role B. RLS C. Object-level security D. Sensitivity label
Question 54 (Scenario – Single Choice)
Which feature allows reviewing downstream report impact before changes?
A. Lineage view B. Impact analysis C. Git diff D. Performance Analyzer
Question 55 (Multi-Select – Choose TWO)
Which actions help enforce data governance?
A. Sensitivity labels B. Certified datasets C. Personal workspaces D. Shared capacities
Question 56 (Single Choice)
Which permission is required to deploy content via pipelines?
A. Viewer B. Contributor C. Admin D. Member
Question 57 (Fill in the Blank)
Row-level security filters data at the __________ level.
Question 58 (Scenario – Single Choice)
You want Power BI Desktop artifacts to integrate cleanly with Git. What format should you use?
A. PBIX B. PBIP C. PBIT D. PBIDS
Question 59 (Single Choice)
Which governance feature integrates with Microsoft Purview?
A. Endorsements B. Sensitivity labels C. Deployment pipelines D. Field parameters
Question 60 (Scenario – Single Choice)
Which role can certify a dataset?
A. Viewer B. Contributor C. Dataset owner or admin D. Any workspace member
DP-600 PRACTICE EXAM
FULL ANSWER KEY & EXPLANATIONS
SECTION A – Prepare Data (1–24)
Question 1
✅ Correct Answer: B – Dataflow Gen2
Explanation: Dataflow Gen2 is designed for low-code ingestion and transformation from files, including CSVs, into Fabric Lakehouses.
Why others are wrong:
A: Power BI Desktop is not an ingestion tool for Lakehouses
C: COPY INTO is SQL-based and less suitable for CSV transformation
D: Spark is overkill for simple ingestion
Question 2
✅ Correct Answers: A and C
Explanation:
Dataflow Gen2 supports ingestion + transformation via Power Query
Spark notebooks support ingestion and complex transformations
Why others are wrong:
B: Eventhouse is optimized for streaming analytics
D: SQL endpoint is query-only
E: Power BI Desktop doesn’t ingest into Fabric storage
Question 3
✅ Correct Answer: B – OneLake catalog
Explanation: The OneLake catalog allows discovery, metadata browsing, and cross-workspace visibility.
Why others are wrong:
A: Pipelines manage deployment
C: Lineage view shows dependencies, not discovery
D: XMLA is for model management
Question 4
✅ Correct Answer: B
Explanation: Direct Lake queries Delta tables directly in OneLake without importing data into VertiPaq.
Why others are wrong:
A: That describes Import mode
C: Fallback is optional
D: Incremental refresh is not required
Question 5
✅ Correct Matching:
1 → C
2 → A
3 → B
Explanation:
Lakehouse = open storage + Spark
Warehouse = high-concurrency SQL
Eventhouse = streaming/time-series
Question 6
✅ Correct Answer: B
Explanation: Eventstream → Eventhouse is optimized for high-volume streaming telemetry.
Question 7
✅ Correct Answer: B – SQL VIEW
Explanation: Views allow joins without materializing data.
Why others are wrong:
A/C/D materialize or duplicate data
Question 8
✅ Correct Answers: A and C
Explanation:
Shortcuts avoid copying data
Shared semantic models reduce duplication
Question 9
✅ Correct Answer: D
Explanation: Incremental refresh requires a Date or DateTime column.
Question 10
✅ Correct Answer: B
Explanation: Handling nulls in Power Query ensures clean data before modeling.
Question 11
✅ Correct Answer: B
Explanation: Row filtering is highly foldable in SQL sources.
Question 12
✅ Correct Answers: A and C
Explanation: Denormalization improves performance and simplifies star schemas.
Question 13
✅ Correct Answer: B
Explanation: Splitting text columns increases cardinality dramatically.
This is a practice exam for the DP-600: Implementing Analytics Solutions Using Microsoft Fabric certification exam. – It contains: 60 Questions (the questions are of varying type and difficulty) – The answer key is located: at the end of the exam; i.e., after all the questions. We recommend that you try to answer the questions before looking at the answers. – Upon successful completion of the official certification exam, you earn the Fabric Analytics Engineer Associate certification.
Good luck to you!
Section A – Prepare Data (1–24)
Question 1 (Single Choice)
You need to ingest semi-structured JSON files from Azure Blob Storage into a Fabric Lakehouse and apply light transformations using a graphical interface. What is the best tool?
A. Spark notebook B. SQL endpoint C. Dataflow Gen2 D. Eventstream
Question 2 (Multi-Select)
Which operations are best performed in Power Query during data preparation? (Choose 2)
A. Removing duplicates B. Creating DAX measures C. Changing column data types D. Creating calculation groups E. Managing relationships
Question 3 (Single Choice)
Which Fabric feature allows you to reference data stored in another workspace without copying it?
A. Pipeline B. Dataflow Gen2 C. Shortcut D. Deployment rule
Question 4 (Single Choice)
Which statement about OneLake is correct?
A. It only supports structured data B. It replaces Azure Data Lake Gen2 C. It provides a single logical data lake across Fabric D. It only supports Power BI datasets
Question 5 (Matching)
Match the Fabric item to its primary use case:
Item
Use Case
1. Warehouse
A. Streaming analytics
2. Lakehouse
B. Open data + Spark
3. Eventhouse
C. Relational SQL analytics
Question 6 (Single Choice)
You are analyzing IoT telemetry data with time-based aggregation requirements. Which query language is most appropriate?
A. SQL B. DAX C. KQL D. MDX
Question 7 (Single Choice)
Which transformation is most likely to prevent query folding?
A. Filtering rows B. Removing columns C. Merging queries using a fuzzy match D. Sorting data
Question 8 (Multi-Select)
What are benefits of using Dataflow Gen2? (Choose 2)
A. Reusable transformations B. High-concurrency reporting C. Centralized data preparation D. DAX calculation optimization E. XMLA endpoint access
Question 9 (Single Choice)
Which file format is optimized for Direct Lake access?
A. CSV B. JSON C. Parquet D. Excel
Question 10 (Fill in the Blank)
Incremental refresh requires two parameters named __________ and __________.
Question 11 (Single Choice)
You want to aggregate data at ingestion time to reduce dataset size. Where should this occur?
A. Power BI visuals B. DAX measures C. Power Query D. Report filters
Question 12 (Multi-Select)
Which characteristics describe a star schema? (Choose 2)
A. Central fact table B. Snowflaked dimensions C. Denormalized dimensions D. Many-to-many relationships by default E. High cardinality dimensions
Question 13 (Single Choice)
Which action most negatively impacts VertiPaq compression?
A. Using integers instead of strings B. Reducing cardinality C. Using calculated columns D. Sorting dimension tables
Question 14 (Single Choice)
Which Fabric feature provides end-to-end data lineage visibility?
A. Deployment pipelines B. Impact analysis C. Lineage view D. Git integration
Question 15 (Single Choice)
What is the primary purpose of Detect data changes in incremental refresh?
A. Reduce model size B. Trigger refresh only when data changes C. Enforce referential integrity D. Improve DAX performance
Question 16 (Single Choice)
Which Fabric item supports both Spark and SQL querying of the same data?
A. Warehouse B. Eventhouse C. Lakehouse D. Semantic model
Question 17 (Multi-Select)
Which scenarios justify using Spark notebooks? (Choose 2)
A. Complex transformations B. Streaming ingestion C. Simple joins D. Machine learning workflows E. Report filtering
Question 18 (Single Choice)
Which query type is most efficient for large-scale aggregations on relational data?
A. DAX B. SQL C. M D. Python
Question 19 (Single Choice)
Which Fabric feature enables schema-on-read?
A. Warehouse B. Lakehouse C. Semantic model D. SQL endpoint
Question 20 (Single Choice)
Which approach preserves historical dimension values?
A. Type 1 SCD B. Type 2 SCD C. Snapshot fact table D. Slowly changing fact
Question 21 (Single Choice)
Which tool helps identify downstream impact before changing a dataset?
A. Lineage view B. Performance Analyzer C. Impact analysis D. DAX Studio
Question 22 (Multi-Select)
Which actions reduce data duplication in Fabric? (Choose 2)
A. Shortcuts B. Import mode only C. Shared semantic models D. Calculated tables E. Composite models
Question 23 (Single Choice)
Which Fabric artifact is best for structured reporting with high concurrency?
A. Lakehouse B. Warehouse C. Eventhouse D. Dataflow Gen2
Question 24 (Single Choice)
Which file format is recommended for sharing a Power BI report without data?
A. PBIX B. CSV C. PBIT D. PBIP
Section B – Semantic Models (25–48)
Question 25 (Single Choice)
Which storage mode offers the fastest query performance?
A. DirectQuery B. Direct Lake C. Import D. Composite
Question 26 (Single Choice)
When should you use a bridge table?
A. One-to-many relationships B. Many-to-many relationships C. One-to-one relationships D. Hierarchical dimensions
Question 27 (Multi-Select)
What are characteristics of composite models? (Choose 2)
A. Mix Import and DirectQuery B. Enable aggregations C. Require XMLA write access D. Eliminate refresh needs E. Only supported in Premium
Question 28 (Single Choice)
Which DAX function changes filter context?
A. SUM B. AVERAGE C. CALCULATE D. COUNT
Question 29 (Single Choice)
Which feature allows users to dynamically switch measures in visuals?
A. Calculation groups B. Field parameters C. Perspectives D. Drillthrough
Question 30 (Single Choice)
Which DAX pattern is least performant?
A. SUM B. SUMX over large tables C. COUNT D. DISTINCTCOUNT on low cardinality
Question 31 (Multi-Select)
Which improve DAX performance? (Choose 2)
A. Reduce cardinality B. Use variables C. Increase calculated columns D. Use iterators everywhere E. Disable relationships
Question 32 (Single Choice)
What is the primary purpose of calculation groups?
A. Reduce model size B. Apply calculations dynamically C. Create new tables D. Improve refresh speed
Question 33 (Single Choice)
Which tool helps identify slow visuals?
A. DAX Studio B. SQL Profiler C. Performance Analyzer D. Lineage view
Question 34 (Single Choice)
Which storage mode supports fallback behavior?
A. Import B. DirectQuery C. Direct Lake D. Composite
Question 35 (Single Choice)
Which feature supports version control of semantic models?
A. Deployment pipelines B. Endorsement C. Git integration D. Sensitivity labels
Question 36 (Matching)
Match the DAX function to its category:
Function
Category
1. FILTER
A. Aggregation
2. SUMX
B. Iterator
3. SELECTEDVALUE
C. Information
Question 37 (Single Choice)
Which table type supports hot and cold partitions?
A. Import B. DirectQuery C. Hybrid D. Calculated
Question 38 (Single Choice)
Which relationship direction is recommended in star schemas?
A. Both B. Single C. None D. Many
Question 39 (Multi-Select)
Which actions reduce semantic model size? (Choose 2)
A. Remove unused columns B. Use integers for keys C. Increase precision of decimals D. Add calculated tables E. Duplicate dimensions
Question 40 (Single Choice)
Which feature allows formatting measures dynamically?
A. Field parameters B. Dynamic format strings C. Perspectives D. Drillthrough
Question 41 (Single Choice)
Which model type allows real-time and cached data together?
A. Import B. Hybrid C. DirectQuery D. Calculated
Question 42 (Fill in the Blank)
Direct Lake queries data stored as __________ tables in __________.
Question 43 (Single Choice)
Which model design supports aggregations with fallback to detail data?
A. Import B. Composite C. DirectQuery D. Calculated
Question 44 (Single Choice)
Which feature resolves many-to-many relationships cleanly?
A. Bi-directional filters B. Bridge tables C. Calculated columns D. Dynamic measures
Question 45 (Single Choice)
Which DAX function returns the current filter context value?
A. VALUES B. ALL C. SELECTEDVALUE D. HASONEVALUE
Question 46 (Multi-Select)
Which scenarios justify large semantic model storage? (Choose 2)
A. Billions of rows B. Memory limits exceeded C. Small datasets D. Few dimensions E. Simple models
Question 47 (Single Choice)
Which optimization reduces query complexity?
A. Snowflake schemas B. Denormalization C. Many-to-many relationships D. Bi-directional filters
Question 48 (Single Choice)
What determines incremental refresh partition updates?
A. Refresh frequency B. Date filters C. Detect data changes D. Report usage
Section C – Maintain & Govern (49–60)
Question 49 (Single Choice)
Who can configure tenant-level Fabric settings?
A. Workspace Admin B. Capacity Admin C. Fabric Admin D. Contributor
Question 50 (Multi-Select)
Which features support governance? (Choose 2)
A. Sensitivity labels B. Endorsement C. Performance Analyzer D. RLS E. Field parameters
Question 51 (Single Choice)
Which endorsement indicates organization-wide trust?
A. Certified B. Promoted C. Shared D. Published
Question 52 (Single Choice)
Which deployment stage is used for validation?
A. Development B. Test C. Production D. Workspace
Question 53 (Single Choice)
Which permission allows modifying a semantic model?
A. Viewer B. Contributor C. Admin D. Reader
Question 54 (Single Choice)
Which feature shows affected reports when changing a model?
A. Lineage view B. Impact analysis C. Deployment rules D. Git history
Question 55 (Multi-Select)
Which actions improve security? (Choose 2)
A. Row-level security B. Object-level security C. Calculated columns D. Field parameters E. Dynamic measures
Question 56 (Single Choice)
Who can delete a Fabric workspace?
A. Member B. Contributor C. Admin D. Viewer
Question 57 (Fill in the Blank)
Restricting rows based on user identity is called __________ security.
Question 58 (Single Choice)
Which format enables source control–friendly Power BI projects?
A. PBIX B. PBIP C. PBIT D. CSV
Question 59 (Single Choice)
Which feature classifies data sensitivity?
A. Endorsement B. Sensitivity labels C. RLS D. Deployment pipelines
Question 60 (Single Choice)
Which feature supports controlled promotion between environments?
A. Git integration B. Lineage view C. Deployment pipelines D. Shortcuts
✅ ANSWER KEY WITH EXPLANATIONS
(Concise explanations provided; incorrect options explained where relevant)
1. C – Dataflow Gen2
Low-code ingestion and transformation for semi-structured data.
2. A, C
Power Query handles data cleansing and type conversion.
This post is a part of the DP-600: Implementing Analytics Solutions Using Microsoft Fabric Exam Prep Hub; and this topic falls under these sections: Implement and manage semantic models (25-30%) --> Optimize enterprise-scale semantic models --> Implement performance improvements in queries and report visuals
Performance optimization is a critical skill for the Fabric Analytics Engineer. In enterprise-scale semantic models, poor query design, inefficient DAX, or overly complex visuals can significantly degrade report responsiveness and user experience. This exam section focuses on identifying performance bottlenecks and applying best practices to improve query execution, model efficiency, and report rendering.
1. Understand Where Performance Issues Occur
Performance problems typically fall into three layers:
a. Data & Storage Layer
Storage mode (Import, DirectQuery, Direct Lake, Composite)
Data source latency
Table size and cardinality
Partitioning and refresh strategies
b. Semantic Model & Query Layer
DAX calculation complexity
Relationships and filter propagation
Aggregation design
Use of calculation groups and measures
c. Report & Visual Layer
Number and type of visuals
Cross-filtering behavior
Visual-level queries
Use of slicers and filters
DP-600 questions often test your ability to identify the correct layer where optimization is needed.
2. Optimize Queries and Semantic Model Performance
a. Choose the Appropriate Storage Mode
Use Import for small-to-medium datasets requiring fast interactivity
Use Direct Lake for large OneLake Delta tables with high concurrency
Use Composite models to balance performance and real-time access
Avoid unnecessary DirectQuery when Import or Direct Lake is feasible
b. Reduce Data Volume
Remove unused columns and tables
Reduce column cardinality (e.g., avoid high-cardinality text columns)
Prefer surrogate keys over natural keys
Disable Auto Date/Time when not needed
c. Optimize Relationships
Use single-direction relationships by default
Avoid unnecessary bidirectional filters
Ensure relationships follow a star schema
Avoid many-to-many relationships unless required
d. Use Aggregations
Create aggregation tables to pre-summarize large fact tables
Enable query hits against aggregation tables before scanning detailed data
Especially valuable in composite models
3. Improve DAX Query Performance
a. Write Efficient DAX
Prefer measures over calculated columns
Use variables (VAR) to avoid repeated calculations
Minimize row context where possible
Avoid excessive iterators (SUMX, FILTER) over large tables
b. Use Filter Context Efficiently
Prefer CALCULATE with simple filters
Avoid complex nested FILTER expressions
Use KEEPFILTERS and REMOVEFILTERS intentionally
c. Avoid Expensive Patterns
Avoid EARLIER in favor of variables
Avoid dynamic table generation inside visuals
Minimize use of ALL when ALLSELECTED or scoped filters suffice
4. Optimize Report Visual Performance
a. Reduce Visual Complexity
Limit the number of visuals per page
Avoid visuals that generate multiple queries (e.g., complex custom visuals)
Use summary visuals instead of detailed tables where possible
b. Control Interactions
Disable unnecessary visual interactions
Avoid excessive cross-highlighting
Use report-level filters instead of visual-level filters when possible
c. Optimize Slicers
Avoid slicers on high-cardinality columns
Use dropdown slicers instead of list slicers
Limit the number of slicers on a page
d. Prefer Measures Over Visual Calculations
Avoid implicit measures created by dragging numeric columns
Define explicit measures in the semantic model
Reuse measures across visuals to improve cache efficiency
5. Use Performance Analysis Tools
a. Performance Analyzer
Identify slow visuals
Measure DAX query duration
Distinguish between query time and visual rendering time
b. Query Diagnostics (Power BI Desktop)
Analyze backend query behavior
Identify expensive DirectQuery or Direct Lake operations
c. DAX Studio (Advanced)
Analyze query plans
Measure storage engine vs formula engine time
Identify inefficient DAX patterns
(You won’t be tested on tool UI details, but knowing when and why to use them is exam-relevant.)
6. Common DP-600 Exam Scenarios
You may be asked to:
Identify why a report is slow and choose the best optimization
Identify the bottleneck layer (model, query, or visual)
Select the most appropriate storage mode for performance
Choose the least disruptive, most effective optimization
Improve a slow DAX measure
Reduce visual rendering time without changing the data source
Optimize performance for enterprise-scale models
Apply enterprise-scale best practices, not just quick fixes
Key Exam Takeaways
Always optimize the model first, visuals second
Star schema + clean relationships = better performance
Efficient DAX matters more than clever DAX
Fewer visuals and interactions = faster reports
Aggregations and Direct Lake are key enterprise-scale tools
A composite model in Power BI and Microsoft Fabric combines data from multiple data sources and multiple storage modes in a single semantic model. Rather than importing all data into the model’s in-memory cache, composite models let you mix different query/storage patterns such as:
Import
DirectQuery
Direct Lake
Live connections
Composite models enable flexible design and optimized performance across diverse scenarios.
Why Composite Models Matter
Semantic models often need to support:
Large datasets that cannot be imported fully
Real-time or near-real-time requirements
Federation across disparate sources
Mix of highly dynamic and relatively static data
Composite models let you combine the benefits of in-memory performance with direct source access.
Core Concepts
Storage Modes in Composite Models
Storage Mode
Description
Typical Use
Import
Data is cached in the semantic model memory
Fast performance for static or moderately sized data
DirectQuery
Queries are pushed to the source at runtime
Real-time or large relational sources
Direct Lake
Queries Delta tables in OneLake
Large OneLake data with faster interactive access
Live Connection
Delegates all query processing to an external model
Shared enterprise semantic models
A composite model may include tables using different modes — for example, imported dimension tables and DirectQuery/Direct Lake fact tables.
Key Features of Composite Models
1. Table-Level Storage Modes
Every table in a composite model may use a different storage mode:
Dimensions may be imported
Fact tables may use DirectQuery or Direct Lake
Bridge or helper tables may be imported
This flexibility enables performance and freshness trade-offs.
2. Relationships Across Storage Modes
Relationships can span tables even if they use different storage modes, enabling:
Filtering between imported and DirectQuery tables
Cross-mode joins (handled intelligently by the engine)
Underlying engines push queries to the appropriate source (SQL, OneLake, Semantic layer), depending on where the data resides.
3. Aggregations and Hierarchies
You can define:
Aggregated tables (pre-summarized import tables)
Detail tables (DirectQuery or Direct Lake)
Power BI automatically uses aggregations when a visual’s query can be satisfied with summary data, enhancing performance.
4. Calculation Groups and Measures
Composite models work with complex semantic logic:
Calculation groups (standardized transformations)
DAX measures that span imported and DirectQuery tables
These models require careful modeling to ensure that context transitions behave predictably.
When to Use Composite Models
Composite models are ideal when:
A. Data Is Too Large to Import
Large fact tables (> hundreds of millions of rows)
Delta/OneLake data too big for full in-memory import
Use Direct Lake for these, while importing dimensions
B. Real-Time Data Is Required
Operational reporting
Systems with high update frequency
Use DirectQuery to relational sources
C. Multiple Data Sources Must Be Combined
Relational databases
OneLake & Delta
Cloud services (e.g., Synapse, SQL DB, Spark)
On-prem gateways
Composite models let you combine these seamlessly.
D. Different Performance vs Freshness Needs
Import for static master data
DirectQuery or Direct Lake for dynamic fact data
Composite vs Pure Models
Aspect
Import Only
Composite
Performance
Very fast
Depends on source/query pattern
Freshness
Scheduled refresh
Real-time/near-real-time possible
Source diversity
Limited
Multiple heterogeneous sources
Model complexity
Simpler
Higher
Query Execution and Optimization
Query Folding
DirectQuery and Power Query transformations rely on query folding to push logic back to the source
Query folding is essential for performance in composite models
Storage Mode Selection
Good modeling practices for composite models include:
Import small dimension tables
Direct Lake for large storage in OneLake
DirectQuery for real-time relational sources
Use aggregations to optimize performance
Modeling Considerations
1. Relationship Direction
Prefer single-direction relationships
Use bidirectional filtering only when required (careful with ambiguity)
2. Data Type Consistency
Ensure fields used in joins have matching data types
In composite models, mismatches can cause query fallbacks
3. Cardinality
High cardinality DirectQuery columns can slow queries
Use star schema patterns
4. Security
Row-level security crosses modes but must be carefully tested
Security logic must consider where filters are applied
Common Exam Scenarios
Exam questions may ask you to:
Choose between Import, DirectQuery, Direct Lake and composite
Assess performance vs freshness requirements
Determine query folding feasibility
Identify correct relationship patterns across modes
Example prompt:
“Your model combines a large OneLake dataset and a small dimension table. Users need current data daily but also fast filtering. Which storage and modeling approach is best?”
Correct exam choices often point to composite models using Direct Lake + imported dimensions.
Best Practices
Define a clear star schema even in composite models
Import dimension tables where reasonable
Use aggregations to improve performance for heavy visuals
Limit direct many-to-many relationships
Use calculation groups to apply analytics consistently
Test query performance across storage modes
Exam-Ready Summary/Tips
Composite models enable flexible and scalable semantic models by mixing storage modes:
Import – best performance for static or moderate data
DirectQuery – real-time access to source systems
Direct Lake – scalable querying of OneLake Delta data
Live Connection – federated or shared datasets
Design composite models to balance performance, freshness, and data volume, using strong schema design and query optimization.
For DP-600, always evaluate:
Data volume
Freshness requirements
Performance expectations
Source location (OneLake vs relational)
Composite models are frequently the correct answer when these requirements conflict.
Practice Questions:
Here are 10 questions to test and help solidify your learning and knowledge. As you review these and other questions in your preparation, make sure to …
Identifying and understand why an option is correct (or incorrect) — not just which one
Look for and understand the usage scenario of keywords in exam questions to guide you
Expect scenario-based questions rather than direct definitions
1. What is the primary purpose of using a composite model in Microsoft Fabric?
A. To enable row-level security across workspaces B. To combine multiple storage modes and data sources in one semantic model C. To replace DirectQuery with Import mode D. To enforce star schema design automatically
✅ Correct Answer: B
Explanation: Composite models allow you to mix Import, DirectQuery, Direct Lake, and Live connections within a single semantic model, enabling flexible performance and data-freshness tradeoffs.
2. You are designing a semantic model with a very large fact table stored in OneLake and small dimension tables. Which storage mode combination is most appropriate?
A. Import all tables B. DirectQuery for all tables C. Direct Lake for the fact table and Import for dimension tables D. Live connection for the fact table and Import for dimensions
✅ Correct Answer: C
Explanation: Direct Lake is optimized for querying large Delta tables in OneLake, while importing small dimension tables improves performance for filtering and joins.
3. Which storage mode allows querying OneLake Delta tables without importing data into memory?
A. Import B. DirectQuery C. Direct Lake D. Live Connection
✅ Correct Answer: C
Explanation: Direct Lake queries Delta tables directly in OneLake, combining scalability with better interactive performance than traditional DirectQuery.
4. What happens when a DAX query in a composite model references both imported and DirectQuery tables?
A. The query fails B. The data must be fully imported C. The engine generates a hybrid query plan D. All tables are treated as DirectQuery
✅ Correct Answer: C
Explanation: Power BI’s engine generates a hybrid query plan, pushing operations to the source where possible and combining results with in-memory data.
5. Which scenario most strongly justifies using a composite model instead of Import mode only?
A. All data fits in memory and refreshes nightly B. The dataset is static and small C. Users require near-real-time data from a large relational source D. The model contains only calculated tables
✅ Correct Answer: C
Explanation: Composite models are ideal when real-time or near-real-time access is needed, especially for large datasets that are impractical to import.
6. In a composite model, which table type is typically best suited for Import mode?
A. High-volume transactional fact tables B. Streaming event tables C. Dimension tables with low cardinality D. Tables requiring second-by-second freshness
✅ Correct Answer: C
Explanation: Importing dimension tables improves query performance and reduces load on source systems due to their relatively small size and low volatility.
7. How do aggregation tables improve performance in composite models?
A. By replacing DirectQuery with Import B. By pre-summarizing data to satisfy queries without scanning detail tables C. By eliminating the need for relationships D. By enabling bidirectional filtering automatically
✅ Correct Answer: B
Explanation: Aggregations allow Power BI to answer queries using pre-summarized Import tables, avoiding expensive queries against large DirectQuery or Direct Lake fact tables.
8. Which modeling pattern is strongly recommended when designing composite models?
A. Snowflake schema B. Flat tables C. Star schema D. Many-to-many relationships
✅ Correct Answer: C
Explanation: A star schema simplifies relationships, improves performance, and reduces ambiguity—especially important in composite and cross-storage-mode models.
9. What is a potential risk of excessive bidirectional relationships in composite models?
A. Reduced data freshness B. Increased memory consumption C. Ambiguous filter paths and unpredictable query behavior D. Loss of row-level security
✅ Correct Answer: C
Explanation: Bidirectional relationships can introduce ambiguity, cause unexpected filtering, and negatively affect query performance—risks that are amplified in composite models.
10. Which feature allows a composite model to reuse an enterprise semantic model while extending it with additional data?
A. Direct Lake B. Import mode C. Live connection with local tables D. Calculation groups
✅ Correct Answer: C
Explanation: A live connection with local tables enables extending a shared enterprise semantic model by adding new tables and measures, forming a composite model.
Information and resources for the data professionals' community