DP-600 Microsoft Fabric Analytics Engineer - Practice Test 2
Your Progress
0 / 65
Question 1MEDIUM
What is a calculation group in Power BI / DAX?
Calculation groups are special dimension tables where each row (calculation item) defines a DAX expression that is applied to any measure dropped into a visual. They eliminate the need to write duplicate measures for time intelligence patterns (YTD, MTD, PY, etc.). They require Tabular Editor or XMLA endpoint access to create in current versions.
See more: DAX Functions
Question 2MEDIUM
What is the purpose of field parameters in Power BI?
Field parameters let report authors create a slicer that allows end users to swap which fields or measures appear in visuals. For example, a user could switch between "Sales by Product", "Sales by Region", or "Sales by Category" without the author needing to create separate visuals. They are created via the Modeling ribbon in Power BI Desktop.
See more: DAX Functions
Question 3HARD
Which DAX windowing function assigns a unique sequential integer to each row within a partition, ordered by a specified column?
ROWNUMBER assigns unique sequential integers (1, 2, 3 ...) to rows within a partition - no ties. RANK assigns the same rank to tied rows and skips numbers (1, 1, 3). INDEX returns the row at a specified position. WINDOW returns a set of rows from an absolute or relative offset. All are DAX windowing functions introduced in 2022.
See more: DAX Functions
Question 4MEDIUM
What is Tabular Editor used for in the context of DP-600?
Tabular Editor (TE2/TE3) is an external tool for Power BI that connects to semantic models via the XMLA endpoint. It is used to create calculation groups, manage model metadata in bulk, apply Best Practice Analyzer (BPA) rules, write C# scripts for automation, and version-control model definitions. It is a key tool for enterprise-scale model management.
See more: Semantic Models
Question 5MEDIUM
What does the DAX SELECTEDVALUE function return?
SELECTEDVALUE(column [, alternateResult]) is a shorthand for IF(HASONEVALUE(column), VALUES(column), alternateResult). It is commonly used with calculation groups to detect which calculation item is selected. For example: SELECTEDVALUE('Time Intelligence'[Name]) returns the selected item name, used to conditionally apply DAX logic.
See more: DAX Functions
Question 6MEDIUM
What does the VertiPaq Analyzer tool help with?
VertiPaq Analyzer examines the in-memory VertiPaq columnar store statistics of a semantic model - showing column sizes, cardinality, dictionary sizes, and segment counts. High cardinality columns consume more memory and may degrade performance. Optimizing by removing unused columns and reducing cardinality (e.g., trimming datetime to date) are common recommendations.
See more: Semantic Models
Question 7HARD
What is Object-Level Security (OLS) in Power BI?
Object-Level Security (OLS) hides entire tables or specific columns from users who are in certain roles. Users assigned to those roles cannot see the hidden objects - they appear as if they don't exist. This is different from RLS, which shows the table but filters rows. OLS is configured via Tabular Editor or XMLA and is useful for hiding sensitive columns like salary or PII.
See more: Security, Governance & Deployment
Question 8MEDIUM
What is the ALLEXCEPT function in DAX used for?
ALLEXCEPT(table, column1, column2, ...) removes all existing filters on the given table except for the filters on the specified columns. It is commonly used to compute percentage-of-total within a group - e.g., ALLEXCEPT(Sales, Sales[Region]) keeps the Region filter while removing all other filters, so you get total sales per region in the denominator.
See more: DAX Functions
Question 9EASY
What is the ALLSELECTED function in DAX used for?
ALLSELECTED removes filters from columns inside a visual (like row/column headers) but preserves the outer filter context from slicers and report filters. It is used to compute percentage-of-visually-selected-total. For example, if a slicer shows Q1 only, ALLSELECTED gives the total for Q1 (not grand total), while ALL would give the company-wide total.
See more: DAX Functions
Question 10MEDIUM
In Fabric, what is the ALM Toolkit used for in the context of semantic models?
ALM (Application Lifecycle Management) Toolkit compares two semantic models (source and target) and shows differences in tables, measures, columns, and relationships - similar to a diff tool. It allows selective deployment of changes without overwriting the entire model. It is used in CI/CD workflows to promote only changed model objects.
See more: Semantic Models
Question 11MEDIUM
What is the DAX FILTER function and when should you avoid wrapping entire tables with it?
FILTER is an iterator that scans every row of the table it receives. Using FILTER(Table, condition) inside CALCULATE iterates the entire table, which can be slow on large tables. The preferred approach is to pass column filters directly to CALCULATE: CALCULATE([Sales], Product[Color] = "Red") - this is more efficient because the engine uses the column's data structures rather than scanning row by row.
See more: DAX Functions
Question 12MEDIUM
What is the purpose of DAX Studio?
DAX Studio is a free external tool that connects to a Power BI Desktop or service model and lets you run DAX queries directly, view server timings (storage engine vs formula engine), examine query plans, and trace events. It is the primary tool for diagnosing and optimizing slow DAX measures.
See more: Semantic Models
Question 13MEDIUM
What is dynamic format strings in Power BI?
Dynamic format strings let you write a DAX expression that returns a format string (like "#,##0.00" or "0.0%") instead of a fixed format. This is especially powerful with calculation groups - different calculation items can have their own format (e.g., a Year-over-Year item formats as percentage while a Revenue item formats as currency), all from a single measure.
See more: DAX Functions
Question 14HARD
What does the CALCULATE function do when you pass a table expression as a filter argument?
By default, CALCULATE filter arguments are added to (intersected with) the existing filter context. If the column already has a filter from a slicer, the CALCULATE filter further restricts it (AND logic). To replace the existing filter, you need to use ALL() or REMOVEFILTERS() first. The exception is when KEEPFILTERS is used, which prevents the override behavior.
See more: DAX Functions
Question 15MEDIUM
In Power BI, what is query folding?
Query folding occurs when Power Query translates M transformations (filter, remove columns, rename, etc.) into a native query that runs on the data source (e.g., a SQL SELECT statement). This is beneficial because the source system does the heavy lifting, reducing data transferred to Power Query. Incremental refresh requires query folding to work. Not all sources or transformations support folding.
See more: Dataflows & Pipelines
Question 16EASY
What is the RELATED function in DAX used for?
RELATED(column) works like a VLOOKUP - it traverses an existing relationship to retrieve a single value from a related table. It is used in calculated columns on the many-side table. For example, in a Sales fact table: RELATED('Product'[Category]) brings in the Category from the Product dimension. RELATEDTABLE returns a full table of related rows (used in measures).
See more: DAX Functions
Question 17MEDIUM
What is the COUNTROWS function DAX and how does it differ from COUNT?
COUNTROWS(table) counts the number of rows in a table (or a filtered table). COUNT(column) counts the number of non-blank values in a column. For example, COUNTROWS(Sales) counts all sales rows; COUNT(Sales[OrderID]) skips nulls. COUNTA and COUNTBLANK are similar column-level functions. COUNTROWS is often preferred for accuracy when blanks may appear.
See more: DAX Functions
Question 18MEDIUM
Which feature in Power BI allows you to translate metadata (column names, measure names) into multiple languages for international audiences?
Metadata translations allow a semantic model to serve column captions, table names, and measure names in different languages based on the user's browser locale. They are managed via Tabular Editor (in the Translations section) or the XMLA endpoint. The Translations feature stores translated strings as part of the model's BIM/JSON definition.
See more: Semantic Models
Question 19EASY
What is the COUNTX function in DAX?
COUNTX(table, expression) is an iterator function. For each row in the specified table, it evaluates the expression and counts how many results are non-blank. This allows counting derived values that aren't stored as columns. For example: COUNTX(Sales, IF(Sales[Amount] > 1000, 1)) counts sales rows with amounts over 1000.
See more: DAX Functions
Question 20HARD
What is the correct definition of a many-to-many relationship in Power BI and when is it appropriate?
Many-to-many (*:*) relationships allow duplicate key values on both sides. They should be used intentionally - for example, shared dimension patterns (one dimension used by multiple fact tables) or when a bridge table is too complex. However, many-to-many can produce unexpected double-counting and ambiguous filter directions. The preferred approach is to use a shared dimension with a bridge table when possible.
See more: Semantic Models
Question 21EASY
What is the purpose of a data pipeline (not Dataflow) in Microsoft Fabric?
Data pipelines in Fabric (equivalent to Azure Data Factory pipelines) are used to orchestrate ETL/ELT workflows. They contain activities: Copy Data (move files between sources), Notebook (run Spark notebook), Dataflow (run a Dataflow Gen2), stored procedure, and control flow (If, ForEach, Until). They can be scheduled or triggered by events.
See more: Dataflows & Pipelines
Question 22MEDIUM
What does Auto Aggregations (automatic aggregations) do in Power BI Premium?
Automatic Aggregations (available in Power BI Premium / Fabric) use machine learning to analyze query patterns and automatically build and maintain aggregation caches. When a visual query matches a cached aggregation, the engine uses the fast in-memory result instead of querying the full dataset. This works for both DirectQuery and Import models and requires no manual aggregation table configuration.
See more: Semantic Models
Question 23MEDIUM
What does the SQL UNION operator do?
UNION combines the results of two SELECT statements with the same number of columns and compatible data types. UNION removes duplicate rows (like DISTINCT). UNION ALL keeps all rows including duplicates and is faster. INTERSECT returns rows present in both sets. EXCEPT returns rows in the first set not present in the second. JOIN combines columns horizontally.
See more: SQL in Fabric
Question 24EASY
In Microsoft Fabric, what is a Premium Per User (PPU) workspace?
Power BI Premium Per User (PPU) is a per-user license that unlocks premium features (deployment pipelines, paginated reports, XMLA read/write endpoint, larger models, etc.) without requiring a dedicated capacity SKU. A PPU workspace requires that all collaborators also have a PPU license. It differs from Fabric capacity (F-SKU) which spans the organization.
See more: Microsoft Fabric Overview
Question 25MEDIUM
What is the purpose of endorsement (certification/promotion) of Fabric items?
Endorsement allows admins and workspace owners to label items as Promoted (any member can apply) or Certified (requires special permission granted by admin). These badges appear in search and the data hub, helping consumers identify trusted, authoritative data sources. Endorsed items rank higher in search results and give users confidence in data quality.
See more: Security, Governance & Deployment
Popular Posts
1Z0-830 Java SE 21 Developer Certification
Azure AI Foundry Hello World
Azure AI Agent Hello World
Foundry vs Hub Projects
Build Agents with SDK
Bing Web Search Agent
Function Calling Agent
Spring Boot + Azure Key Vault Hello World Example
Spring Boot + Elasticsearch + Azure Key Vault Example
Spring Boot Azure AD (Entra ID) OAuth 2.0 Authentication
Deploy Spring Boot App to Azure App Service
Secure Azure App Service using Azure API Management
Deploy Spring Boot JAR to Azure App Service
Deploy Spring Boot + MySQL to Azure App Service
Spring Boot + Azure Managed Identity Example
Secure Spring Boot Azure Web App with Managed Identity + App Registration
Elasticsearch 8 Security - Integrate Azure AD OIDC