Tag: Power BI

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

Practice Questions: Create a measure by using Quick 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 a measure by using Quick 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. Purpose of Quick Measures

Question:
What is the primary purpose of using a quick measure in Power BI?

A. To create calculated columns without using DAX
B. To generate common DAX measure patterns using guided input
C. To improve model refresh performance
D. To replace the need for a Date table

Correct Answer:
B

Explanation:
Quick measures provide prebuilt DAX templates that guide users through creating common calculations. They generate standard DAX measures that can be edited later. They do not eliminate the need for proper modeling or Date tables.


2. Nature of a Quick Measure

Question:
After creating a quick measure, how is it stored in the data model?

A. As a calculated column
B. As a hidden system calculation
C. As a standard DAX measure
D. As a Power Query transformation

Correct Answer:
C

Explanation:
Quick measures create regular DAX measures that appear in the Fields pane and behave exactly like manually written measures.


3. Editing Generated DAX

Question:
A user creates a quick measure for Year-to-Date Sales. Can the generated DAX be modified?

A. No, quick measures are locked
B. Only in the Model view
C. Yes, like any other DAX measure
D. Only by recreating the quick measure

Correct Answer:
C

Explanation:
Once created, a quick measure is fully editable and behaves like any other DAX measure.


4. Time Intelligence Dependency

Question:
A Year-over-Year quick measure returns incorrect results. What is the most likely cause?

A. The measure was created in the Data view
B. The Date table is not marked as a Date table
C. The visual uses too many filters
D. The measure needs to be a calculated column

Correct Answer:
B

Explanation:
Time intelligence quick measures rely on a proper Date table that is marked as such and related to the fact table. Without it, results may be incorrect.


5. Model Size Impact

Question:
What impact do quick measures have on the size of the data model?

A. They increase model size significantly
B. They add new hidden tables
C. They increase memory usage only at refresh time
D. They do not increase model size

Correct Answer:
D

Explanation:
Measures, including quick measures, are calculated at query time and do not store data, so they do not increase model size.


6. Running Total Behavior

Question:
Which DAX concept is most commonly used in a running total quick measure?

A. Row context
B. RELATED
C. CALCULATE with ALL or FILTER
D. LOOKUPVALUE

Correct Answer:
C

Explanation:
Running total quick measures typically use CALCULATE combined with FILTER and ALL to override filter context and accumulate values over time.


7. Appropriate Use Case

Question:
When is a quick measure most appropriate?

A. When implementing complex business logic
B. When optimizing memory-intensive models
C. When creating a standard calculation pattern quickly
D. When creating relationships between tables

Correct Answer:
C

Explanation:
Quick measures are ideal for standard, well-known calculation patterns such as YTD, running totals, and ratios—not for complex custom logic.


8. Common Mistake

Question:
Which mistake is commonly made when using quick measures?

A. Using them only in visuals
B. Forgetting they generate DAX that depends on filter context
C. Using them only in Power Query
D. Creating too many quick measures

Correct Answer:
B

Explanation:
Quick measures are still subject to filter context. Misunderstanding this can lead to incorrect results, especially in complex visuals.


9. Relationship Dependency

Question:
A quick measure calculates a ratio using two tables but returns blank values. What is the most likely issue?

A. The measure should be a calculated column
B. The tables lack a valid relationship
C. The data types are incorrect
D. The quick measure category is wrong

Correct Answer:
B

Explanation:
Quick measures rely on the existing data model relationships. If relationships are missing or incorrect, the measure may return blanks.


10. Exam Interpretation Question

Question:
On the PL-300 exam, a question references a “guided DAX calculation created through the user interface.” What is this most likely referring to?

A. Calculated tables
B. Power Query steps
C. Quick measures
D. Implicit measures

Correct Answer:
C

Explanation:
“Guided DAX calculation” is a common exam phrasing used to describe quick measures, which guide users through creating DAX measures.


Final Exam Tip

For PL-300:

  • Expect scenario-based questions
  • Focus on when to use quick measures—not how to click them
  • Understand the DAX patterns they generate
  • Know their dependencies and limitations

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

Practice Questions: Create calculated tables or columns (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 calculated tables or columns


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 create a column that classifies customers as “High Value” or “Standard” based on their lifetime sales. The value does not need to change based on report filters.

Which approach is MOST appropriate?

A. Create a measure
B. Create a calculated column
C. Create a calculated table
D. Use a visual-level filter

Correct Answer: B

Explanation:
The classification is row-level and static, making a calculated column the correct choice. Measures are dynamic and filter-dependent, which is unnecessary here.


Question 2

A calculation must change dynamically when slicers are applied. Which option should you use?

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

Correct Answer: C

Explanation:
Only measures respond to filter context. Calculated columns and tables are evaluated at refresh and do not change with slicers.


Question 3

You create a calculated column that references a measure. What happens?

A. The column updates dynamically
B. The column returns blank
C. Power BI throws an error
D. The measure is converted to row context

Correct Answer: C

Explanation:
Measures cannot be referenced directly inside calculated columns because measures require filter context, which is not available during column evaluation.


Question 4

Which scenario is BEST suited for a calculated table?

A. Creating a sales KPI
B. Creating a Date dimension
C. Calculating profit margin
D. Filtering a visual dynamically

Correct Answer: B

Explanation:
Calculated tables are commonly used to create Date tables, helper tables, and bridge tables. KPIs and margins should be measures.


Question 5

Which statement about calculated columns is TRUE?

A. They are evaluated at query time
B. They respond to slicers dynamically
C. They increase model size
D. They are not stored in memory

Correct Answer: C

Explanation:
Calculated columns are stored in the model, increasing memory usage. Measures are calculated at query time and not stored.


Question 6

You need a table that aggregates sales by product and category to support a relationship. What should you create?

A. Measure
B. Calculated column
C. Calculated table
D. Visual aggregation

Correct Answer: C

Explanation:
Aggregated datasets that need to participate in relationships should be created as calculated tables.


Question 7

Which DAX function is MOST commonly used when creating calculated tables?

A. CALCULATE
B. SUM
C. SUMMARIZE
D. DIVIDE

Correct Answer: C

Explanation:
SUMMARIZE is commonly used to group and aggregate data when creating calculated tables.


Question 8

Why should calculated columns be avoided for large datasets when possible?

A. They cannot be indexed
B. They slow down visuals
C. They increase memory consumption
D. They do not support relationships

Correct Answer: C

Explanation:
Calculated columns are stored in memory. Overusing them can significantly increase model size and degrade performance.


Question 9

Which task should generally be performed in Power Query instead of using a calculated column?

A. Creating a slicer field
B. Creating a sort-by column
C. Cleaning and transforming raw data
D. Creating relationship keys

Correct Answer: C

Explanation:
Power Query is optimized for data cleansing and transformation and should be preferred over calculated columns whenever possible.


Question 10

A calculated table is created using DAX. When is it evaluated?

A. Every time a slicer changes
B. Every time a visual loads
C. During data refresh
D. At report open

Correct Answer: C

Explanation:
Calculated tables (like calculated columns) are evaluated only during data refresh, not during report interaction.


Exam Takeaways

  • ✔ Calculated columns → row-level, static logic
  • ✔ Calculated tables → model support and structure
  • ✔ Measures → dynamic, filter-aware calculations
  • ❌ Avoid calculated columns for aggregations
  • ❌ Avoid calculated tables for data cleaning

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

Practice Questions: Create calculation groups (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 calculation groups


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 a calculation group?

A. To replace all measures in a model
B. To apply reusable calculation logic to multiple measures
C. To improve data refresh performance
D. To create row-level security rules

Correct Answer: B

Explanation:
Calculation groups allow a single calculation (such as YTD or YoY) to be reused across multiple measures using SELECTEDMEASURE().


Question 2

Which function is REQUIRED when defining a calculation item?

A. CALCULATE
B. VALUES
C. SELECTEDVALUE
D. SELECTEDMEASURE

Correct Answer: D

Explanation:
SELECTEDMEASURE() references the measure currently in context, allowing the calculation group to work dynamically across measures.


Question 3

Where are calculation groups created?

A. Power BI Desktop
B. Power Query Editor
C. Tabular Editor
D. DAX Studio

Correct Answer: C

Explanation:
Calculation groups are created using Tabular Editor, an external modeling tool. They cannot be created directly in Power BI Desktop.


Question 4

Which scenario is BEST suited for a calculation group?

A. Creating a one-time KPI
B. Creating a simple ratio measure
C. Applying YTD, MTD, and YoY logic across many measures
D. Cleaning source data

Correct Answer: C

Explanation:
Calculation groups excel when the same calculation logic must apply consistently across many measures.


Question 5

What happens if multiple calculation groups exist in a model?

A. Power BI randomly applies one
B. Only the most recent one is used
C. Calculation precedence determines the order of execution
D. All calculation groups are ignored

Correct Answer: C

Explanation:
Calculation groups are applied based on precedence. Higher precedence values are evaluated first.


Question 6

Which statement about calculation groups is TRUE?

A. They are evaluated during data refresh
B. They increase model storage size significantly
C. They modify measures at query time
D. They can replace the need for base measures

Correct Answer: C

Explanation:
Calculation groups operate at query time, modifying how measures are evaluated without storing additional data.


Question 7

Why might a calculation group cause unexpected results?

A. It automatically filters fact tables
B. It overrides measure logic due to precedence
C. It recalculates columns dynamically
D. It disables relationships

Correct Answer: B

Explanation:
Incorrect calculation precedence can cause calculation groups to override or interfere with other calculations.


Question 8

Which is a limitation of calculation groups?

A. They cannot be used with measures
B. They require Power Query
C. They are not supported for all DirectQuery sources
D. They cannot be used in visuals

Correct Answer: C

Explanation:
Some DirectQuery sources have limited or no support for calculation groups, making them unsuitable in those scenarios.


Question 9

When should calculation groups generally NOT be used?

A. Large enterprise models
B. Models with many similar measures
C. Simple reports with only a few measures
D. Time intelligence scenarios

Correct Answer: C

Explanation:
In simple models, calculation groups may add unnecessary complexity and reduce clarity for report authors and users.


Question 10

Which best practice aligns with PL-300 guidance?

A. Use calculation groups to replace all measures
B. Use calculation groups only when they improve maintainability
C. Always create calculation groups for time intelligence
D. Avoid documentation when using calculation groups

Correct Answer: B

Explanation:
The exam emphasizes judgment and maintainability. Calculation groups should be used when they meaningfully simplify and standardize the model.


Key Exam Takeaways

  • ✔ Calculation groups apply reusable logic to measures
  • SELECTEDMEASURE() is foundational
  • ✔ Created using Tabular Editor
  • ✔ Precedence matters
  • ❌ Not always appropriate for simple models

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

Practice Questions: Improve Performance by Identifying and Removing Unnecessary Rows and Columns (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%)
--> Optimize model performance
--> Improve Performance by Identifying and Removing Unnecessary Rows and Columns


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. Why does removing unused columns improve Power BI model performance?

A. It reduces the number of visuals that can be created
B. It decreases the number of DAX measures required
C. It reduces memory usage in the VertiPaq engine
D. It disables automatic relationships

Correct Answer: C

Explanation:
Power BI stores data in the VertiPaq in-memory engine. Each column consumes memory—even if it is hidden. Removing unused columns reduces the model’s memory footprint, leading to faster refreshes and better query performance.


2. Where should unnecessary rows ideally be removed to achieve the best performance improvement?

A. In DAX measures
B. In calculated tables
C. In report-level filters
D. In Power Query

Correct Answer: D

Explanation:
Removing rows in Power Query prevents the data from ever being loaded into the model. This reduces model size and improves refresh and query performance. Filtering data after it’s loaded (DAX or visuals) does not reduce memory usage.


3. Which type of column typically has the greatest negative impact on model size?

A. Numeric columns with repeated values
B. Boolean columns
C. High-cardinality text columns
D. Date columns

Correct Answer: C

Explanation:
High-cardinality text columns (e.g., IDs, comments, URLs) compress poorly in VertiPaq and significantly increase model size. Removing unused high-cardinality columns is a key performance optimization technique.


4. A column is hidden in the model but not used in any visuals or calculations. What impact does it have on performance?

A. No impact, because it is hidden
B. It improves compression automatically
C. It still consumes memory
D. It is removed at refresh time

Correct Answer: C

Explanation:
Hidden columns are still loaded into the model and consume memory. Hiding a column does not improve performance—removing it does.


5. Which scenario best justifies removing historical rows from a fact table?

A. The data refresh fails intermittently
B. Reports only require the last three years of data
C. Measures return incorrect totals
D. Relationships are inactive

Correct Answer: B

Explanation:
If reports only require recent data, removing older historical rows reduces table size and improves performance without affecting business requirements.


6. Why is removing unnecessary columns from fact tables especially important?

A. Fact tables rarely participate in relationships
B. Fact tables usually have the fewest rows
C. Fact tables typically have the most rows
D. Fact tables do not support compression

Correct Answer: C

Explanation:
Fact tables often contain millions of rows. Any unnecessary column in a large fact table significantly increases memory usage and query processing time.


7. Which action improves performance without reducing the model size?

A. Removing unused columns in Power Query
B. Filtering rows in Power Query
C. Using report-level filters
D. Removing columns from the source system

Correct Answer: C

Explanation:
Report-level filters limit what is displayed but do not remove data from the model. The data is still loaded and stored in memory.


8. Which of the following columns is most likely safe to remove if not used?

A. Date key used in relationships
B. Surrogate key not used in any relationship
C. Foreign key linking to a dimension
D. Numeric measure column

Correct Answer: B

Explanation:
Surrogate keys that are not used in relationships, visuals, or calculations add no analytical value and only increase model size.


9. Why is early filtering in Power Query recommended?

A. It increases DAX calculation accuracy
B. It enables query folding and reduces data transfer
C. It hides rows from report users
D. It automatically creates relationships

Correct Answer: B

Explanation:
Filtering early allows Power BI to push filtering logic back to the data source (query folding), reducing the amount of data transferred, loaded, and stored in the model.


10. A Power BI model is slow, and analysis shows many unused descriptive columns in dimension tables. What is the BEST action?

A. Hide the columns
B. Convert them to measures
C. Remove the columns in Power Query
D. Create calculated columns instead

Correct Answer: C

Explanation:
Removing unused descriptive columns in Power Query permanently reduces model size and improves performance. Hiding columns does not provide performance benefits.


Final Exam Tips

  • Remove, don’t hide unused columns
  • Filter rows in Power Query, not visuals
  • Focus on high-cardinality columns and large fact tables
  • Smaller models = faster performance (this is a recurring PL-300 theme)

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

Practice Questions: Identify poorly performing measures, relationships, and visuals by using Performance Analyzer and DAX query view (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%)
--> Optimize model performance
--> Identify poorly performing measures, relationships, and visuals by using

Performance Analyzer and DAX query view

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 run Performance Analyzer on a report page and notice that a visual has a very high DAX Query duration but a low Visual Display duration. What is the most likely cause?

A. The visual contains too many fields
B. The measure used by the visual is inefficient
C. The report page has too many visuals
D. The dataset refresh frequency is too high

Correct Answer: B

Explanation:
A high DAX Query time indicates that the bottleneck occurs during DAX execution, which typically points to inefficient measures, complex calculations, or inefficient filter context.


Question 2

Which Power BI tool allows you to view and execute DAX queries generated by report visuals?

A. Model View
B. Performance Analyzer
C. DAX Query View
D. Power Query Editor

Correct Answer: C

Explanation:
DAX Query View enables analysts to inspect and test DAX queries independently of visuals, making it ideal for diagnosing measure-level performance issues.


Question 3

You observe that multiple visuals across different report pages are slow, even though they use different visual types. What is the most likely root cause?

A. A complex report theme
B. Inefficient shared measures
C. Excessive visual formatting
D. Dataset refresh settings

Correct Answer: B

Explanation:
If multiple visuals are slow across pages, the issue is often a shared measure or relationship rather than a visual-specific configuration.


Question 4

Which Performance Analyzer metric helps you determine whether slowness is caused by rendering rather than DAX?

A. Total Load Time
B. DAX Query
C. Other
D. Visual Display

Correct Answer: D

Explanation:
High Visual Display time indicates the visual itself (layout, formatting, or rendering complexity) is the primary performance bottleneck.


Question 5

Which relationship configuration is most likely to negatively impact model performance?

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

Correct Answer: B

Explanation:
Many-to-many relationships combined with bi-directional filtering significantly increase filter propagation complexity and often degrade performance.


Question 6

You copy a DAX query from Performance Analyzer and run it in DAX Query View. Why is this useful?

A. To change the visual’s formatting
B. To validate data refresh schedules
C. To isolate and analyze query performance
D. To modify relationships automatically

Correct Answer: C

Explanation:
Running queries in DAX Query View helps isolate performance issues at the DAX level, independent of visual rendering.


Question 7

A table visual renders slowly, but Performance Analyzer shows low DAX Query time. What should you investigate next?

A. Measure logic
B. Data model relationships
C. Visual complexity and row count
D. Dataset size on disk

Correct Answer: C

Explanation:
Low DAX time but slow rendering suggests the issue is visual-related—such as high row counts, many columns, or heavy formatting.


Question 8

Which DAX pattern is most commonly associated with poor performance when overused?

A. Simple aggregations like SUM
B. Iterators such as SUMX and FILTER
C. Implicit measures
D. Column sorting

Correct Answer: B

Explanation:
Iterator functions evaluate row by row and can significantly slow down DAX queries when used excessively or unnecessarily.


Question 9

Why can unnecessary bi-directional relationships negatively affect report performance?

A. They increase dataset size
B. They prevent refresh from completing
C. They increase filter propagation complexity
D. They disable query folding

Correct Answer: C

Explanation:
Bi-directional filtering increases the number of filter paths Power BI must resolve, often leading to slower query execution.


Question 10

What is the primary purpose of Performance Analyzer in Power BI Desktop?

A. Optimize dataset refresh times
B. Rewrite inefficient DAX automatically
C. Identify which visuals are slow and why
D. Monitor gateway performance

Correct Answer: C

Explanation:
Performance Analyzer helps identify slow visuals and breaks down execution time, allowing analysts to pinpoint whether the issue lies in DAX, rendering, or other overhead.


Key Exam Takeaways

  • Performance Analyzer identifies where time is spent
  • DAX Query View helps analyze why queries are slow
  • High DAX Query time → measure or relationship issue
  • High Visual Display time → visual design issue
  • Bi-directional and many-to-many relationships are frequent performance culprits

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