Category: Data Education & Training

Practice Questions: Identify and Create Appropriate Keys for Relationships (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Prepare the data (25–30%)
--> Transform and load the data
--> Identify and Create Appropriate Keys for Relationships


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 want to create a one-to-many relationship between a Sales table and a Customers table. Which column should be used as the key on the one side?

A. Customer Name
B. Customer Email
C. CustomerID
D. Sales Amount

Correct Answer: C

Explanation:
The key on the “one” side must be unique and non-null. CustomerID is a stable identifier designed to uniquely identify customers.


Question 2

Power BI automatically creates a many-to-many relationship between two tables. What is the MOST likely cause?

A. The relationship is inactive
B. The join direction is incorrect
C. Duplicate values exist in the key columns
D. The relationship was created in DAX

Correct Answer: C

Explanation:
Many-to-many relationships occur when neither side of the relationship has unique values. This is often caused by poor key design or missing dimension tables.


Question 3

You need to create a relationship using two columns (OrderDate and StoreID) because no single column is unique. What should you do?

A. Create two relationships
B. Use a many-to-many relationship
C. Create a composite key in Power Query
D. Use a calculated column in DAX

Correct Answer: C

Explanation:
Power BI does not support native composite relationships. You must combine columns into a single key—preferably in Power Query before loading data.


Question 4

A relationship fails to work even though the key values appear identical. What should you check FIRST?

A. Relationship cardinality
B. Column data types
C. Storage mode
D. Table visibility

Correct Answer: B

Explanation:
Keys must have the same data type on both sides. Text vs numeric mismatches are a common cause of broken relationships.


Question 5

Which table should typically contain foreign keys in a star schema?

A. Dimension tables
B. Fact tables
C. Bridge tables only
D. Lookup tables only

Correct Answer: B

Explanation:
In a star schema, fact tables contain foreign keys that reference the primary keys in dimension tables.


Question 6

Which of the following is the BEST candidate for a primary key in a dimension table?

A. Product Name
B. Product Category
C. ProductID
D. Product Description

Correct Answer: C

Explanation:
Primary keys must be unique, stable, and non-descriptive. IDs are ideal, while names and descriptions are subject to change and duplication.


Question 7

You discover duplicate values in a dimension table’s key column. What is the BEST next step?

A. Enable many-to-many relationships
B. Remove duplicates or redesign the dimension
C. Use bidirectional filtering
D. Create a calculated table

Correct Answer: B

Explanation:
Dimension tables must have unique keys. Allowing duplicates introduces ambiguity and breaks proper filter propagation.


Question 8

Where should keys ideally be created or cleaned for best model performance?

A. In DAX measures
B. In calculated columns
C. In Power Query
D. In Power BI visuals

Correct Answer: C

Explanation:
Keys should be created and cleaned before data is loaded. Power Query is the correct environment for shaping and preparing keys.


Question 9

Which situation MOST strongly indicates that a surrogate key should be used?

A. A column contains null values
B. No stable unique identifier exists
C. The table contains many rows
D. The table is a fact table

Correct Answer: B

Explanation:
Surrogate keys are often introduced when natural keys are missing, unstable, or composite, enabling reliable relationships.


Question 10

Why are descriptive columns (such as names or emails) poor choices for relationship keys?

A. They increase storage size
B. They slow down visuals
C. They are not guaranteed to be unique or stable
D. They cannot be indexed

Correct Answer: C

Explanation:
Descriptive fields can change, contain duplicates, or include formatting inconsistencies, making them unreliable as relationship keys.


Key PL-300 Takeaways

  • Keys must be unique, non-null, and stable
  • Dimension tables define the one side
  • Fact tables contain foreign keys
  • Composite keys must be explicitly created
  • Poor key design leads to incorrect results
  • Prepare keys in Power Query, not DAX

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Configure Data Loading for Queries (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Prepare the data (25–30%)
--> Transform and load the data
--> Configure Data Loading for Queries


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 create a Power Query that cleans raw data and is referenced by several other queries. The query should not appear as a table in the data model. What should you do?

A. Hide the table in Report View
B. Disable Load for the query
C. Delete the query after use
D. Set the query to DirectQuery mode

Correct Answer: B

Explanation:
Staging or helper queries should have Enable Load turned off so they don’t create unnecessary tables in the data model.


Question 2

Which setting determines whether a Power Query is loaded into the Power BI data model?

A. Include in report refresh
B. Enable Load
C. Query folding
D. Incremental refresh

Correct Answer: B

Explanation:
The Enable Load option controls whether a query results in a table in the data model.


Question 3

You disable load for a query that other queries reference. What is the impact?

A. Dependent queries will fail
B. The query is deleted
C. The query still runs but does not load into the model
D. Relationships are automatically removed

Correct Answer: C

Explanation:
Disabling load does not prevent the query from executing. It simply prevents it from creating a table in the model.


Question 4

A dataset contains historical data spanning 10 years and refresh times are very slow. What configuration would MOST improve refresh performance?

A. Disable query folding
B. Hide the table from report view
C. Enable incremental refresh
D. Convert the table to DirectQuery

Correct Answer: C

Explanation:
Incremental refresh limits refresh operations to new or changed data, dramatically improving performance for large datasets.


Question 5

Which requirement must be met before configuring incremental refresh?

A. The table must use Import mode
B. The table must contain a Date/Time column
C. The query must be disabled for load
D. The model must use DirectQuery

Correct Answer: B

Explanation:
Incremental refresh requires a Date/Time column to define data partitions using parameters like RangeStart and RangeEnd.


Question 6

Why is it a best practice to disable load for staging queries?

A. It improves DAX performance
B. It reduces the number of visuals
C. It reduces model size and complexity
D. It enables bidirectional filtering

Correct Answer: C

Explanation:
Loading only final tables keeps the model lean, efficient, and easier to maintain — a key PL-300 principle.


Question 7

Which Power BI feature visually shows how queries depend on each other?

A. Model View
B. Query Diagnostics
C. Query Dependencies
D. Performance Analyzer

Correct Answer: C

Explanation:
Query Dependencies provides a visual map showing which queries reference others, helping validate load configuration decisions.


Question 8

Which action helps preserve query folding and improve data loading performance?

A. Creating calculated columns
B. Filtering data early in Power Query
C. Disabling load for fact tables
D. Hiding columns in Data View

Correct Answer: B

Explanation:
Applying filters early allows Power Query to push transformations back to the data source, improving performance during load.


Question 9

A query is hidden from Report View but still increases dataset size. Why?

A. Hidden tables still load into the model
B. Hidden tables are cached
C. Hidden tables are duplicated
D. Hidden tables disable query folding

Correct Answer: A

Explanation:
Hiding a table only affects visibility. It does not prevent data from being loaded into the model.


Question 10

Which configuration prevents a query from refreshing but keeps it in the model?

A. Disable Load
B. Remove the query
C. Uncheck “Include in report refresh”
D. Convert to DirectQuery

Correct Answer: C

Explanation:
Unchecking Include in report refresh keeps the table in the model but excludes it from refresh operations.


Key PL-300 Takeaways

  • Enable Load controls whether a query creates a model table
  • Disable load for staging and helper queries
  • Incremental refresh is critical for large datasets
  • Query folding affects how data is loaded
  • Hidden tables still consume memory

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Configure table and column properties (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Design and implement a data model
--> Configure table and column properties


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 notice that a column containing Customer IDs is being summed in report visuals by default.
What is the best way to prevent this behavior?

A. Change the data type to Text
B. Hide the column
C. Set Default Summarization to Do not summarize
D. Create a measure instead

Correct Answer: C

Explanation:
Default Summarization controls how numeric columns aggregate in visuals. ID columns should not be summed, so setting them to Do not summarize prevents incorrect totals while still allowing the column to be used where appropriate.


Question 2

A report displays month names alphabetically instead of chronologically.
Which column property should you configure to correct this?

A. Data Category
B. Default Summarization
C. Sort By Column
D. Column Visibility

Correct Answer: C

Explanation:
The Sort By Column property allows a text column (Month Name) to be sorted using a numeric column (Month Number), ensuring correct chronological order.


Question 3

You want to prevent report authors from accidentally using surrogate key columns in visuals.
What should you do?

A. Change the data type
B. Hide the columns
C. Disable summarization
D. Remove the columns from the model

Correct Answer: B

Explanation:
Hiding columns removes them from the Fields pane while keeping them available for relationships and internal model use.


Question 4

A column containing website URLs should appear as clickable links in reports.
Which property must be configured?

A. Data Type
B. Format
C. Data Category
D. Default Summarization

Correct Answer: C

Explanation:
Setting the Data Category to Web URL enables Power BI to render values as clickable links in visuals.


Question 5

You are preparing a shared dataset for enterprise use. Users frequently ask what certain fields represent.
Which feature best addresses this issue?

A. Column formatting
B. Column descriptions
C. Data categories
D. Column visibility

Correct Answer: B

Explanation:
Descriptions provide tooltips in Power BI Desktop and Service, improving documentation and usability without affecting calculations.


Question 6

Which column should typically have Default Summarization set to “Do not summarize”?

A. Sales Amount
B. Quantity Sold
C. Discount Percentage
D. Customer ID

Correct Answer: D

Explanation:
Identifiers should never be aggregated. Summing or averaging IDs produces meaningless results.


Question 7

You want a column representing cities to work correctly in map visuals.
Which property should you configure?

A. Sort By Column
B. Data Category
C. Format
D. Column Visibility

Correct Answer: B

Explanation:
Setting the Data Category to City helps Power BI geocode the data correctly for map visuals.


Question 8

Does hiding a table or column improve model performance?

A. Yes, it reduces memory usage
B. Yes, it reduces refresh time
C. No, it only affects usability
D. Only for calculated columns

Correct Answer: C

Explanation:
Hiding objects only impacts the user interface. It does not affect performance, refresh time, or memory usage.


Question 9

Which table type most commonly contains hidden key columns and visible descriptive attributes?

A. Fact table
B. Dimension table
C. Bridge table
D. Calculated table

Correct Answer: B

Explanation:
Dimension tables expose descriptive fields (Name, Category) while hiding primary keys used only for relationships.


Question 10

A numeric column representing profit margin (percentage) is being summed in visuals, causing incorrect results.
What is the best configuration?

A. Change the data type to Text
B. Set Default Summarization to Average or Do not summarize
C. Hide the column
D. Convert it to a measure

Correct Answer: B

Explanation:
Percentages are non-additive. Changing the default summarization prevents misleading totals while keeping the column usable.


Key PL-300 Exam Takeaways

  • Default Summarization is frequently tested
  • Sort By Column is essential for time-based attributes
  • Data Category impacts maps and URLs
  • Hiding fields improves usability, not performance
  • Descriptions matter for shared and certified datasets

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Implement Role-Playing Dimensions (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Design and implement a data model
--> Implement Role-Playing Dimensions


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

A Sales table contains OrderDate, ShipDate, and DeliveryDate. All three columns reference the same Date dimension. What is the recommended modeling approach?

A. Create one Date table and mark two relationships inactive
B. Use calculated columns to combine the dates
C. Duplicate the Date dimension for each role
D. Use USERELATIONSHIP in every measure

Correct Answer: C

Explanation:
Duplicating the Date dimension allows all relationships to remain active, avoids complex DAX, and creates a clearer and more intuitive model—this is the preferred PL-300 approach.


Question 2

Why is using a single Date table with multiple inactive relationships generally discouraged?

A. It prevents refresh
B. It increases storage requirements
C. It requires explicit DAX to activate filters
D. It violates star schema rules

Correct Answer: C

Explanation:
Inactive relationships do not filter visuals automatically. Measures must use USERELATIONSHIP(), increasing complexity and risk of errors.


Question 3

Which DAX function is required when using an inactive relationship?

A. CROSSFILTER
B. TREATAS
C. RELATED
D. USERELATIONSHIP

Correct Answer: D

Explanation:
USERELATIONSHIP() temporarily activates an inactive relationship within a calculation.


Question 4

A report user wants to analyze sales by both Order Date and Ship Date using slicers. What model design best supports this?

A. One Date table with calculated columns
B. One Date table with inactive relationships
C. Two duplicated Date dimension tables
D. A single Date table with bidirectional filtering

Correct Answer: C

Explanation:
Duplicated role-playing dimensions allow independent slicers that filter correctly without special DAX logic.


Question 5

Which of the following is a common example of a role-playing dimension?

A. Product Category
B. Calendar Date
C. Fact table surrogate keys
D. Measure tables

Correct Answer: B

Explanation:
Date dimensions commonly play multiple roles such as Order Date, Ship Date, and Due Date.


Question 6

What is the primary benefit of role-playing dimensions in a Power BI model?

A. Reduced data refresh time
B. Smaller model size
C. Improved filter clarity and usability
D. Automatic time intelligence

Correct Answer: C

Explanation:
Role-playing dimensions provide clear business meaning and ensure intuitive filtering behavior in reports.


Question 7

Which action should be taken after duplicating a dimension table for a role-playing scenario?

A. Enable bidirectional filters
B. Rename the table to reflect its role
C. Disable data load
D. Hide all columns

Correct Answer: B

Explanation:
Renaming the table (e.g., Date – Order, Date – Ship) improves model readability and user understanding—important for exam and real-world models.


Question 8

What is the impact of duplicating a dimension table on model performance?

A. Significant performance degradation
B. No change in filtering behavior
C. Slight increase in model size with minimal impact
D. Increased query execution time for all visuals

Correct Answer: C

Explanation:
Duplicated dimensions slightly increase model size but typically have negligible performance impact, especially compared to the benefits.


Question 9

Which scenario most strongly indicates the need for role-playing dimensions?

A. A fact table with multiple numeric measures
B. A dimension table with many attributes
C. A fact table with multiple foreign keys to the same dimension
D. A model with many-to-many relationships

Correct Answer: C

Explanation:
Multiple foreign keys pointing to the same dimension is the classic role-playing dimension scenario.


Question 10

Which modeling choice is most likely to cause confusion for report consumers?

A. Duplicating dimensions with clear names
B. Using inactive relationships without explanation
C. Using a star schema
D. Hiding surrogate keys

Correct Answer: B

Explanation:
Inactive relationships do not filter automatically and can lead to confusing or incorrect visuals if not carefully managed.


Exam Tips for This Topic 🧠

  • When in doubt, duplicate the dimension
  • Avoid unnecessary USERELATIONSHIP() usage
  • Look for questions involving multiple dates or roles
  • Favor clarity and simplicity over clever DAX
  • Think from a report consumer’s perspective

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Define a Relationship’s Cardinality and Cross-Filter Direction (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Design and implement a data model
--> Define a Relationship's Cardinality and Cross-Filter Direction


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 are designing a star schema with a Sales fact table and a Product dimension table. Which relationship configuration is recommended?

A. Many-to-many with bi-directional filtering
B. One-to-many with single-direction filtering
C. One-to-one with single-direction filtering
D. Many-to-one with bi-directional filtering

Correct Answer: B

Explanation:
A star schema should use a one-to-many relationship from the dimension (Product) to the fact (Sales) with single-direction filtering for predictable results and optimal performance.


Question 2

When should bi-directional cross-filtering be used?

A. In all relationships by default
B. Only for dimension-to-dimension relationships
C. When complex filtering across tables is required
D. Only in one-to-many relationships

Correct Answer: C

Explanation:
Bi-directional filtering should be used only when necessary, such as in many-to-many or fact-to-fact scenarios, because it can introduce ambiguity and performance issues.


Question 3

What is the most common cause of a many-to-many relationship?

A. Missing primary keys
B. Duplicate values on both sides of the relationship
C. Using calculated columns
D. Incorrect data types

Correct Answer: B

Explanation:
Many-to-many relationships occur when both tables contain duplicate values in the join column.


Question 4

A dimension table contains duplicate keys. What is the best solution?

A. Enable bi-directional filtering
B. Change the relationship to many-to-many
C. Remove duplicates or create a bridge table
D. Ignore the issue

Correct Answer: C

Explanation:
Dimension tables should contain unique keys. Removing duplicates or introducing a bridge table preserves correct aggregation behavior.


Question 5

Which cross-filter direction prevents a fact table from filtering a dimension table?

A. Both
B. None
C. Single
D. Auto

Correct Answer: C

Explanation:
Single-direction filtering allows filters to flow from the one-side (dimension) to the many-side (fact) only.


Question 6

What is a risk of using bi-directional relationships excessively?

A. Reduced model size
B. Automatic time intelligence
C. Circular dependencies and ambiguous filters
D. Improved query performance

Correct Answer: C

Explanation:
Bi-directional filtering can create ambiguous filter paths, circular dependencies, and incorrect results if overused.


Question 7

You have two fact tables that must be analyzed together. What relationship design is most appropriate?

A. One-to-many with single direction
B. Many-to-many with bi-directional filtering
C. One-to-one with single direction
D. No relationship

Correct Answer: B

Explanation:
Fact-to-fact analysis typically requires many-to-many relationships with bi-directional filtering, often via a bridge table.


Question 8

Why are one-to-one relationships uncommon in Power BI models?

A. They are not supported
B. They cause performance issues
C. Tables can often be merged instead
D. They require bi-directional filtering

Correct Answer: C

Explanation:
One-to-one relationships often indicate the tables could be merged, simplifying the model.


Question 9

What is the default cross-filter direction for a one-to-many relationship in Power BI?

A. Both
B. Single
C. None
D. Auto

Correct Answer: B

Explanation:
Power BI defaults to single-direction filtering from the one-side to the many-side.


Question 10

A report returns inflated totals after enabling bi-directional filtering. What is the most likely cause?

A. Incorrect data types
B. Duplicate measures
C. Ambiguous filter propagation
D. Missing relationships

Correct Answer: C

Explanation:
Bi-directional filtering can cause filters to propagate through multiple paths, leading to double-counting or inflated results.


Key Exam Reminders 🧠

  • Default to one-to-many + single direction
  • Use bi-directional filtering sparingly
  • Watch for duplicate keys
  • Many-to-many ≠ shortcut
  • Think in terms of filter flow, not just connectivity

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Create a Common Date Table (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Design and implement a data model
--> Create a Common Date Table


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

Why is creating a common date table recommended instead of using date columns directly from fact tables?

A. It reduces dataset size
B. It improves report rendering speed
C. It enables reliable time-intelligence calculations
D. It automatically creates relationships

Correct Answer: C

Explanation:
DAX time-intelligence functions require a proper date table with contiguous dates. Using fact table date columns often leads to incorrect or blank results.


Question 2

Which requirement must be met for a table to be marked as a Date table in Power BI?

A. It must contain a Year column
B. It must contain a unique, contiguous Date column
C. It must be created using DAX
D. It must be hidden from report view

Correct Answer: B

Explanation:
A valid date table must contain a single column of unique dates with no gaps. This column is selected when marking the table as a Date table.


Question 3

What happens if a date table is not marked as a Date table?

A. Relationships are disabled
B. Time-intelligence functions may not work correctly
C. Measures cannot be created
D. The model refresh fails

Correct Answer: B

Explanation:
Marking a table as a Date table enables Power BI to correctly evaluate time-intelligence functions like TOTALYTD and SAMEPERIODLASTYEAR.


Question 4

Which DAX function is commonly used to create a date table?

A. DATEADD
B. DATATABLE
C. CALENDAR
D. FORMAT

Correct Answer: C

Explanation:
The CALENDAR() function generates a continuous date range, making it ideal for creating date tables in DAX.


Question 5

A fact table contains Order Date and Ship Date columns. What is the recommended modeling approach?

A. Use one date table with two inactive relationships
B. Use auto date/time for both columns
C. Duplicate the date table for each role
D. Merge the two date columns

Correct Answer: C

Explanation:
Duplicating the date table creates role-playing dimensions, allowing both relationships to remain active and slicers to work intuitively.


Question 6

Which attribute is least likely to be included in a common date table?

A. Month Name
B. Quarter
C. Customer ID
D. Fiscal Year

Correct Answer: C

Explanation:
A date table contains time-related attributes only. Customer ID belongs in a customer dimension.


Question 7

Why is Auto Date/Time generally discouraged in enterprise Power BI models?

A. It increases refresh times
B. It limits customization and control
C. It disables relationships
D. It prevents DAX calculations

Correct Answer: B

Explanation:
Auto Date/Time creates hidden tables that lack flexibility and are not ideal for advanced time-intelligence scenarios.


Question 8

Which relationship configuration is most appropriate between a date table and a fact table?

A. One-to-one with bi-directional filtering
B. One-to-many with single-direction filtering
C. Many-to-many with bi-directional filtering
D. Many-to-one with bi-directional filtering

Correct Answer: B

Explanation:
The date table should be on the one-side, filtering the fact table via single-direction filtering, consistent with star schema design.


Question 9

What is a common mistake when creating a date table?

A. Including fiscal columns
B. Extending the date range beyond the fact data
C. Leaving gaps in the date sequence
D. Using Power Query

Correct Answer: C

Explanation:
Date tables must contain continuous dates. Gaps can break time-intelligence calculations.


Question 10

Which scenario most strongly indicates the need for a common date table?

A. Reports with only categorical data
B. Models without relationships
C. Reports using year-over-year comparisons
D. Importing a single Excel table

Correct Answer: C

Explanation:
Year-over-year and other time-based comparisons depend on a properly configured date table.


Final Exam Tips 🧠

  • Always create and mark a date table
  • Avoid relying on auto date/time
  • Ensure dates are unique and contiguous
  • Use role-playing dimensions for multiple date fields
  • Think “time intelligence” whenever dates appear in a question

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Identify Use Cases for Calculated Columns and Calculated Tables (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Design and implement a data model
--> Identify Use Cases for Calculated Columns and Calculated Tables


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 concatenate First Name and Last Name for use in a slicer. Which solution is most appropriate?

A. Measure
B. Calculated column
C. Calculated table
D. Power Query parameter

Correct Answer: B

Explanation:
Slicers require columns, not measures. A calculated column performs row-level logic and is evaluated at refresh.


Question 2

A calculation must respond dynamically to report filters and slicers. Which option should you choose?

A. Calculated column
B. Calculated table
C. Measure
D. Power Query step

Correct Answer: C

Explanation:
Measures are evaluated at query time and respond to filter context, unlike calculated columns or tables.


Question 3

You need to create a reusable calendar table using DAX. Which object should you create?

A. Measure
B. Calculated column
C. Calculated table
D. Power Query column

Correct Answer: C

Explanation:
Calculated tables return entire tables and are commonly used to create date dimensions.


Question 4

Which scenario is best suited for a calculated column rather than a measure?

A. Total sales
B. Year-to-date revenue
C. Product price category
D. Average discount rate

Correct Answer: C

Explanation:
Categorizing each row (e.g., Low / Medium / High) is a row-level operation, making a calculated column appropriate.


Question 5

Why should calculated columns be used sparingly?

A. They don’t support DAX
B. They increase model size
C. They can’t be sorted
D. They break relationships

Correct Answer: B

Explanation:
Calculated columns are stored in the model, increasing memory usage and refresh time.


Question 6

Which scenario most strongly indicates a calculated table?

A. Creating a dynamic ranking
B. Generating a disconnected slicer table
C. Summing sales by category
D. Calculating profit margin

Correct Answer: B

Explanation:
Disconnected slicers and parameter tables are common use cases for calculated tables.


Question 7

A user expects a calculated column to change when a slicer is applied. Why does this not happen?

A. Calculated columns use row context
B. Calculated columns require USERELATIONSHIP
C. Calculated columns evaluate at refresh
D. Calculated columns cannot reference measures

Correct Answer: C

Explanation:
Calculated columns are computed during data refresh and do not respond to filter context.


Question 8

Which option is NOT an appropriate use of a calculated table?

A. Creating a bridge table
B. Creating a what-if parameter
C. Creating a static lookup table
D. Creating a dynamic aggregation

Correct Answer: D

Explanation:
Dynamic aggregations should be handled by measures, not calculated tables.


Question 9

You need a column to sort month names chronologically. What should you create?

A. Measure
B. Calculated column
C. Calculated table
D. Aggregation table

Correct Answer: B

Explanation:
Sorting requires a column. A calculated column (e.g., MonthNumber) supports Sort by Column.


Question 10

Which modeling decision best improves performance?

A. Replacing measures with calculated columns
B. Using calculated tables for all dimensions
C. Moving row-level logic to Power Query
D. Adding more calculated columns

Correct Answer: C

Explanation:
Power Query transformations occur before loading and do not increase DAX complexity or model memory usage.


Final Exam Reminders 🧠

  • Columns = row-level, static
  • Tables = structure, relationships, parameters
  • Measures = dynamic, aggregation
  • Power Query = preferred for data shaping

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Create single aggregation measures (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Create model calculations by using DAX
--> Create single aggregation measures


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 a measure that calculates total sales amount and responds to report slicers. Which DAX expression should you use?

A. Total Sales = Sales[SalesAmount]
B. Total Sales = SUM(Sales[SalesAmount])
C. Total Sales = CALCULATE(Sales[SalesAmount])
D. Total Sales = SUMX(Sales, Sales[SalesAmount])

Correct Answer: B

Explanation:
SUM() is the correct single aggregation function for adding numeric values in a column. It automatically responds to filter context. SUMX() is unnecessary for simple aggregations.


Question 2

Which function should you use to count the total number of rows in a fact table?

A. COUNT()
B. COUNTA()
C. COUNTROWS()
D. SUM()

Correct Answer: C

Explanation:
COUNTROWS() counts rows in a table regardless of column values and is the preferred approach for counting records in fact tables.


Question 3

A column contains text values and blanks. You want to count the number of non-blank entries. Which function should you use?

A. COUNT()
B. COUNTA()
C. COUNTROWS()
D. SUM()

Correct Answer: B

Explanation:
COUNTA() counts non-blank values across all data types, including text, making it ideal for this scenario.


Question 4

Why should aggregation logic typically be implemented as a measure rather than a calculated column?

A. Measures consume more memory
B. Measures are evaluated at data refresh
C. Measures respond to filter context
D. Calculated columns are faster at query time

Correct Answer: C

Explanation:
Measures are evaluated at query time and dynamically respond to slicers, filters, and visuals. Calculated columns are static and do not react to user interaction.


Question 5

Which aggregation function returns the arithmetic mean of a numeric column?

A. SUM()
B. AVERAGEX()
C. AVERAGE()
D. COUNT()

Correct Answer: C

Explanation:
AVERAGE() performs a simple mean over a single column. AVERAGEX() is an iterator and is unnecessary for basic aggregations.


Question 6

You drag a numeric column into a visual and Power BI automatically creates a sum. What type of measure is this?

A. Calculated measure
B. Explicit measure
C. Implicit measure
D. Calculated column

Correct Answer: C

Explanation:
Implicit measures are automatically generated by Power BI when a field is placed in a visual. The PL-300 exam favors explicit measures created with DAX.


Question 7

Which DAX expression correctly counts the number of orders in a Sales table?

A. Order Count = COUNT(Sales)
B. Order Count = COUNT(Sales[OrderID])
C. Order Count = COUNTROWS(Sales)
D. Order Count = COUNTA(Sales)

Correct Answer: C

Explanation:
COUNTROWS() is the safest and most reliable method for counting records in a table. COUNT() requires a numeric column and may produce misleading results.


Question 8

What happens to a single aggregation measure when a slicer is applied?

A. The value remains unchanged
B. The measure recalculates based on filter context
C. The measure recalculates only at refresh
D. The measure stops working

Correct Answer: B

Explanation:
Measures automatically recalculate based on the current filter context created by slicers, filters, and visuals.


Question 9

Which function returns the earliest date in a filtered context?

A. FIRSTDATE()
B. MIN()
C. EARLIEST()
D. STARTDATE()

Correct Answer: B

Explanation:
MIN() returns the smallest value in a column and works correctly with dates and filter context. It is a valid single aggregation function.


Question 10

Which of the following is the best practice when creating aggregation measures for PL-300?

A. Use calculated columns whenever possible
B. Use implicit measures to save time
C. Use explicit measures with clear naming
D. Avoid formatting measures

Correct Answer: C

Explanation:
Explicit measures with clear, business-friendly names are reusable, easier to maintain, and strongly aligned with PL-300 expectations.


Final Exam Tips 💡

  • Expect COUNT vs COUNTROWS vs COUNTA questions
  • Prefer SUM over SUMX for simple totals
  • Measures always respect filter context
  • Avoid calculated columns for aggregations
  • Clear naming and formatting matter

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Use the CALCULATE function (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Create model calculations by using DAX
--> Use the CALCULATE function


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 the CALCULATE function in DAX?

A. To iterate over a table row by row
B. To change the filter context in which an expression is evaluated
C. To create calculated columns
D. To return a table of filtered rows

Correct Answer: B

Explanation:
CALCULATE evaluates an expression in a modified filter context, making it the foundation of most advanced DAX measures. Iteration and table-returning logic are handled by other functions.


Question 2

Which measure correctly calculates total sales for only the year 2024?

Total Sales = SUM(Sales[SalesAmount])

A.

CALCULATE(Sales[SalesAmount], Sales[Year] = 2024)

B.

CALCULATE([Total Sales], Sales[Year] = 2024)

C.

FILTER([Total Sales], Sales[Year] = 2024)

D.

SUMX(Sales, Sales[SalesAmount], Sales[Year] = 2024)

Correct Answer: B

Explanation:
CALCULATE modifies the filter context for an expression, typically a measure like [Total Sales]. Option A is invalid syntax, and C/D misuse FILTER and SUMX.


Question 3

What happens when CALCULATE is used inside a calculated column?

A. It disables row context
B. It converts row context to filter context
C. It ignores relationships
D. It removes all filters automatically

Correct Answer: B

Explanation:
This is known as context transition. CALCULATE converts the current row context into filter context, allowing aggregations to work per row.


Question 4

Which function is most appropriate to remove filters from a single column?

A. FILTER
B. ALL
C. REMOVEFILTERS
D. VALUES

Correct Answer: C

Explanation:
REMOVEFILTERS(Column) explicitly removes filters from a column and is preferred for clarity in modern DAX. ALL also removes filters but returns a table.


Question 5

Which scenario requires using a FILTER() function inside CALCULATE?

A. Applying a simple equality filter
B. Removing all filters from a table
C. Applying complex row-level conditions
D. Summing a column

Correct Answer: C

Explanation:
FILTER() is required when Boolean filters are insufficient, such as multi-column or calculated conditions.


Question 6

Which statement about Boolean filters in CALCULATE is TRUE?

A. They can reference multiple columns
B. They can reference measures
C. They must reference a single column
D. They must return a table

Correct Answer: C

Explanation:
Boolean filter expressions in CALCULATE must reference one column only and cannot directly use measures.


Question 7

What will the following measure do?

Sales Ignore Year =
CALCULATE(
    [Total Sales],
    REMOVEFILTERS(Date[Year])
)

A. Show sales for the selected year
B. Ignore all date filters
C. Ignore only the Year filter
D. Return blank

Correct Answer: C

Explanation:
Only filters on Date[Year] are removed. Other date filters (month, day) remain active.


Question 8

Which DAX pattern is most common for time intelligence calculations?

A. SUMX with FILTER
B. CALCULATE with a date function
C. A calculated column
D. A disconnected table

Correct Answer: B

Explanation:
Time intelligence functions such as DATESYTD, SAMEPERIODLASTYEAR, and DATEADD are almost always used inside CALCULATE.


Question 9

Why is it recommended to create base measures before using CALCULATE?

A. Base measures improve visual formatting
B. CALCULATE cannot reference columns
C. Reusable logic simplifies complex measures
D. Base measures load faster

Correct Answer: C

Explanation:
Using base measures (e.g., [Total Sales]) improves readability, maintainability, and reuse, which is a common PL-300 best practice.


Question 10

Which of the following best describes how CALCULATE handles existing filters?

A. It always removes them
B. It ignores slicers
C. It adds or overrides filters as specified
D. It applies filters only once

Correct Answer: C

Explanation:
CALCULATE modifies filter context by adding new filters or overriding existing ones, depending on the filter arguments provided.


Final Exam Tips for CALCULATE (PL-300)

  • Expect scenario-based questions
  • Focus on filter context behavior
  • Understand context transition
  • Know when to use:
    • Boolean filters
    • FILTER()
    • ALL vs REMOVEFILTERS
  • Assume CALCULATE is involved if logic feels “advanced”

Go back to the PL-300 Exam Prep Hub main page

Practice Questions: Implement Time Intelligence Measures (PL-300 Exam Prep)

This post is a part of the PL-300: Microsoft Power BI Data Analyst Exam Prep Hub; and this topic falls under these sections:
Model the data (25–30%)
--> Create model calculations by using DAX
--> Implement Time Intelligence Measures


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

Which requirement must be met for built-in DAX time intelligence functions to work correctly?

A. The fact table must contain a datetime column
B. The date column must be sorted by another column
C. A continuous, marked date table must exist
D. Measures must be created as calculated columns

Correct Answer: C

Explanation:
Built-in time intelligence functions require a continuous date table that is explicitly marked as a Date table. Missing dates or unmarked tables cause incorrect or blank results.


Question 2

Which measure correctly calculates Year-to-Date (YTD) sales?

A.

Sales YTD = SUM(Sales[SalesAmount])

B.

Sales YTD = DATESYTD(Sales[Date])

C.

Sales YTD =
CALCULATE(
    [Total Sales],
    DATESYTD(Date[Date])
)

D.

Sales YTD = SUMX(DATESYTD(Date[Date]), [Total Sales])

Correct Answer: C

Explanation:
DATESYTD must be used inside CALCULATE to modify filter context. Options A and B are incomplete, and D is an incorrect pattern.


Question 3

Which function returns values for the same period in the previous year?

A. DATEADD
B. SAMEPERIODLASTYEAR
C. DATESYTD
D. PARALLELPERIOD

Correct Answer: B

Explanation:
SAMEPERIODLASTYEAR shifts the date context back exactly one year and is commonly used for year-over-year comparisons.


Question 4

What is the main reason to use DATEADD instead of SAMEPERIODLASTYEAR?

A. It performs faster
B. It works without a date table
C. It supports flexible offsets (months, quarters, days)
D. It ignores relationships

Correct Answer: C

Explanation:
DATEADD allows shifting the date context by various intervals, making it more flexible for non-year-based comparisons.


Question 5

Which measure correctly calculates rolling 12-month sales?

A.

Rolling 12M =
SUM(Sales[SalesAmount])

B.

Rolling 12M =
CALCULATE(
    [Total Sales],
    DATESINPERIOD(Date[Date], TODAY(), -12, MONTH)
)

C.

Rolling 12M =
CALCULATE(
    [Total Sales],
    DATESINPERIOD(
        Date[Date],
        MAX(Date[Date]),
        -12,
        MONTH
    )
)

D.

Rolling 12M =
DATESINPERIOD(Date[Date], -12, MONTH)

Correct Answer: C

Explanation:
MAX(Date[Date]) ensures the rolling window aligns with the current evaluation context, which is essential for correct rolling calculations.


Question 6

Why is DIVIDE() recommended when calculating time-based percentage changes?

A. It is faster than /
B. It prevents circular dependencies
C. It automatically formats results
D. It safely handles divide-by-zero scenarios

Correct Answer: D

Explanation:
DIVIDE() returns a safe result (blank or alternate value) instead of an error when the denominator is zero.


Question 7

Which scenario would cause a YTD measure to return incorrect results?

A. The date table contains fiscal year columns
B. The date table has missing dates
C. The measure uses CALCULATE
D. The model uses a star schema

Correct Answer: B

Explanation:
Built-in time intelligence requires a complete date range with no gaps. Missing dates break time-based calculations.


Question 8

Where should time intelligence measures typically be created?

A. Calculated columns
B. Calculated tables
C. Measures
D. Power Query

Correct Answer: C

Explanation:
Time intelligence calculations depend on filter context, which is only evaluated dynamically in measures.


Question 9

Which function returns all dates from the beginning of the quarter to the current context?

A. DATESMTD
B. DATESQTD
C. DATESYTD
D. DATEADD

Correct Answer: B

Explanation:
DATESQTD calculates quarter-to-date values, commonly tested alongside YTD and MTD.


Question 10

What is the primary role of the date table in time intelligence?

A. Store fact data
B. Improve visual formatting
C. Control time-based filter context
D. Reduce model size

Correct Answer: C

Explanation:
The date table defines the time dimension used by DAX functions to evaluate periods accurately.


Final PL-300 Exam Tips for Time Intelligence

  • Always check for a marked date table
  • Expect scenario-based questions
  • Use built-in time intelligence functions first
  • Remember that CALCULATE is always involved
  • Validate measures at different time granularities

Go back to the PL-300 Exam Prep Hub main page