Tag: PL-300: Microsoft Power BI Data Analyst

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

Practice Questions: Use Basic Statistical Functions (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 Basic Statistical Functions


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 DAX function returns the arithmetic mean of a numeric column?

A. MEDIAN
B. AVERAGEX
C. AVERAGE
D. MEAN

Correct Answer: C

Explanation:
AVERAGE calculates the arithmetic mean of a numeric column. AVERAGEX is an iterator, and MEAN is not a valid DAX function.


Question 2

You need to count the number of unique customers in a sales table. Which function should you use?

A. COUNT
B. COUNTA
C. COUNTROWS
D. DISTINCTCOUNT

Correct Answer: D

Explanation:
DISTINCTCOUNT counts unique values in a column, which is required when counting unique customers or products.


Question 3

What is the primary difference between COUNT and COUNTA?

A. COUNT works on tables; COUNTA works on columns
B. COUNT counts numeric values; COUNTA counts non-blank values of any type
C. COUNT ignores blanks; COUNTA counts blanks
D. COUNT is slower than COUNTA

Correct Answer: B

Explanation:
COUNT counts only non-blank numeric values, while COUNTA counts all non-blank values regardless of data type.


Question 4

Which function should you use to count the number of rows returned by a table expression?

A. COUNT
B. COUNTA
C. COUNTROWS
D. DISTINCTCOUNT

Correct Answer: C

Explanation:
COUNTROWS counts the number of rows in a table and is commonly used to count records after filters are applied.


Question 5

Which measure correctly calculates the median sales amount?

A.

Median Sales = MEDIANX(Sales, Sales[SalesAmount])

B.

Median Sales = MEDIAN(Sales[SalesAmount])

C.

Median Sales = AVERAGE(Sales[SalesAmount])

D.

Median Sales = SUM(Sales[SalesAmount])

Correct Answer: B

Explanation:
MEDIAN calculates the middle value of a numeric column and is less sensitive to outliers than AVERAGE.


Question 6

Which function measures how spread out values are around the mean for an entire population?

A. VAR.S
B. VAR.P
C. STDEV.S
D. MEDIAN

Correct Answer: B

Explanation:
VAR.P calculates population variance. VAR.S is used for samples.


Question 7

Which DAX function returns the population standard deviation?

A. STDEV.S
B. STDEVX.P
C. STDEV.P
D. VAR.P

Correct Answer: C

Explanation:
STDEV.P calculates the standard deviation for an entire population dataset.


Question 8

You need to calculate the average sales amount only for products in the “Accessories” category. Which measure is correct?

A.

AVERAGE(Sales[SalesAmount], Product[Category] = "Accessories")

B.

CALCULATE(
    AVERAGE(Sales[SalesAmount]),
    Product[Category] = "Accessories"
)

C.

FILTER(
    AVERAGE(Sales[SalesAmount]),
    Product[Category] = "Accessories"
)

D.

AVERAGEX(
    Sales,
    Product[Category] = "Accessories"
)

Correct Answer: B

Explanation:
CALCULATE modifies filter context, allowing the average to be evaluated only for the specified category.


Question 9

When should you prefer MEDIAN over AVERAGE?

A. When data has missing values
B. When performance is critical
C. When data contains outliers
D. When counting rows

Correct Answer: C

Explanation:
The median is less affected by extreme values and provides a better measure of central tendency when outliers exist.


Question 10

Which statement about basic statistical measures is TRUE?

A. They should be created as calculated columns
B. They ignore filter context
C. They dynamically recalculate based on filters
D. They require a date table

Correct Answer: C

Explanation:
Statistical measures are filter-context aware, meaning their results change dynamically based on slicers and filters.


Final PL-300 Exam Tips for Statistical Functions

  • Know the differences between COUNT, COUNTA, COUNTROWS, and DISTINCTCOUNT
  • Understand when to use MEDIAN vs AVERAGE
  • Be comfortable with variance and standard deviation functions
  • Expect filter context–based questions using CALCULATE
  • Use measures, not calculated columns

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

Practice Questions: Create semi-additive 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 semi-additive 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

1. Identifying a Semi-Additive Measure

Question:
Which of the following metrics is most likely to require a semi-additive measure?

A. Total Sales Amount
B. Quantity Sold
C. Daily Inventory Balance
D. Total Number of Orders

Correct Answer: C

Explanation:
Inventory balance represents a snapshot in time, not an accumulated activity. Summing it across dates produces incorrect totals. Sales, quantity, and orders are fully additive across time.


2. Why SUM Produces Incorrect Results

Question:
A report sums daily account balances over a month and produces inflated totals. What is the root cause?

A. Incorrect relationships
B. Using SUM instead of a time-aware calculation
C. Missing a date hierarchy
D. Incorrect data type

Correct Answer: B

Explanation:
Account balances are semi-additive. Using SUM across time double-counts values. A time-aware calculation such as retrieving the last value is required.


3. Choosing the Correct DAX Pattern

Question:
Which DAX expression correctly returns the ending balance for a selected period?

A.

SUM(FactBalances[Balance])

B.

AVERAGE(FactBalances[Balance])

C.

CALCULATE(
    SUM(FactBalances[Balance]),
    LASTDATE('Date'[Date])
)

D.

COUNT(FactBalances[Balance])

Correct Answer: C

Explanation:
CALCULATE combined with LASTDATE ensures that only the final date in the current filter context is evaluated, which is the correct behavior for ending balances.


4. Handling Missing Dates

Question:
Some dates have no balance records. Which function ensures the last available balance is returned?

A. LASTDATE
B. FIRSTDATE
C. LASTNONBLANK
D. MAX

Correct Answer: C

Explanation:
LASTNONBLANK finds the most recent date with data, making it ideal when fact data is not recorded every day.


5. Average Over Time Scenario

Question:
You need to report the average daily inventory level for a month. Which approach is correct?

A. SUM inventory values
B. Use AVERAGE on the inventory column
C. Use AVERAGEX over the Date table
D. Use COUNT of inventory rows

Correct Answer: C

Explanation:
AVERAGEX iterates over each date, evaluating inventory per day and then averaging the results. This is the correct approach for semi-additive snapshot values.


6. Beginning Balance Requirement

Question:
Which function should be used to calculate a beginning-of-period balance?

A. LASTDATE
B. FIRSTDATE
C. MAX
D. ENDOFMONTH

Correct Answer: B

Explanation:
FIRSTDATE returns the earliest date in the current filter context, making it ideal for beginning balances.


7. Identifying Incorrect Business Logic

Question:
A measure returns correct daily balances but incorrect monthly totals. What is the most likely issue?

A. The Date table is inactive
B. The measure uses a calculated column
C. The measure is additive over time
D. Cross-filter direction is incorrect

Correct Answer: C

Explanation:
Snapshot metrics should not aggregate across time. If monthly totals are incorrect, the measure is likely being summed instead of using a semi-additive pattern.


8. Relationship to Time Intelligence

Question:
Why is a proper Date table critical for semi-additive measures?

A. It improves report performance
B. It enables slicers
C. Time intelligence functions require it
D. It reduces model size

Correct Answer: C

Explanation:
Functions like LASTDATE, FIRSTDATE, and ENDOFMONTH rely on a contiguous, marked Date table to evaluate time context correctly.


9. Month-End Balance Calculation

Question:
Which DAX expression correctly returns the month-end balance?

A.

SUM(FactBalances[Balance])

B.

CALCULATE(
    SUM(FactBalances[Balance]),
    ENDOFMONTH('Date'[Date])
)

C.

AVERAGEX('Date', FactBalances[Balance])

D.

COUNT(FactBalances[Balance])

Correct Answer: B

Explanation:
ENDOFMONTH restricts the calculation to the last date of the month, which is required for month-end snapshot metrics.


10. Recognizing Semi-Additive Behavior

Question:
Which statement best describes a semi-additive measure?

A. It aggregates correctly across all dimensions
B. It should always be stored as a calculated column
C. It aggregates across some dimensions but not time
D. It cannot use CALCULATE

Correct Answer: C

Explanation:
Semi-additive measures aggregate normally across dimensions like product or region but require special logic when evaluated across time.


Final Exam Tips

  • If a value represents a state, not an activity → think semi-additive
  • Avoid SUM across dates for snapshot metrics
  • Use CALCULATE with time functions
  • Expect scenario-based questions, not pure syntax questions

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