PL-300 Visualize and analyze the data Practice Question
You have a Power BI report that uses a measure to calculate year-over-year growth. Users report that the measure returns blank for certain months. The measure is: YoY Growth = DIVIDE(SUM(Sales[Amount]) - CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date])), CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date]))). What is the most likely cause of the blank values?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The Date table is missing dates for the previous year, causing SAMEPERIODLASTYEAR to return no data.
The correct answer is C: the Date table is missing dates for the previous year, causing SAMEPERIODLASTYEAR to return no data. SAMEPERIODLASTYEAR requires a contiguous, complete date range in a marked Date table to shift the current period back exactly one year; if prior-year dates are absent, the CALCULATE denominator returns BLANK, and DIVIDE yields BLANK for those months. Option A is not the cause because an unmarked date table would typically break time intelligence entirely rather than only certain months, and marking it is a prerequisite, not the root cause here. Option B is incorrect because DIVIDE returns BLANK only when the denominator is zero or BLANK, which is a symptom of the missing prior-year data, not the underlying cause. Option D is wrong because TOTALYTD computes a year-to-date aggregate, not a prior-year comparison, so it would not fix the YoY calculation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The Date table is not marked as a date table.
Why it's wrong here
Marking the Date table as a date table is a best practice for time intelligence functions, but it is not what causes SAMEPERIODLASTYEAR to return blank. This function only needs a valid date column in the current filter context; it shifts dates back by one year regardless of the table's marking status. If the prior year's dates are simply absent from the table, no amount of marking will make the function return data. Therefore, this option describes a configuration that may affect other time intelligence calculations but is not the root cause of the blank result.
- ✗
The measure uses DIVIDE which returns blank when denominator is zero.
Why it's wrong here
DIVIDE does return BLANK when the denominator is zero, but that is not what is happening here. In this scenario, the denominator is BLANK—not zero—because the previous year's measure evaluates to no data when SAMEPERIODLASTYEAR finds no dates. DIVIDE propagates BLANK when the denominator is BLANK, just as it does for zero, but the underlying cause is the missing date range, not a division-by-zero error. Correcting the denominator to return a value would still require fixing the date table so the previous year exists.
- ✓
The Date table is missing dates for the previous year, causing SAMEPERIODLASTYEAR to return no data.
Why this is correct
SAMEPERIODLASTYEAR works by shifting the current filter context back exactly one year and returning the equivalent set of dates. If the Date table does not contain those dates—for example, the table starts at January 2022 while you are filtering on 2023, so no 2022 dates are present—the function returns an empty set of dates. When a measure receives an empty date range, it evaluates to BLANK, which then propagates through any calculations like DIVIDE. To fix this, the Date table must span a contiguous range that includes all years present in the fact data, including the year being compared.
- ✗
The measure should use TOTALYTD instead of SAMEPERIODLASTYEAR.
Why it's wrong here
TOTALYTD is designed to calculate a running total from the start of the year to the latest date in the current context, not to compare the same period to the previous year. Replacing SAMEPERIODLASTYEAR with TOTALYTD would change the measure's semantics entirely—it would stop performing a year-over-year comparison and instead return a year-to-date cumulative value. Since the problem is that the previous year's dates are missing from the table, TOTALYTD would still reference the same incomplete date table and would not resolve the blank result. This option misidentifies both the purpose of the function and the source of the issue.
Go deeper
Related to this question
About these practice questions
One of 524 original PL-300 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.