The correct answer is to add a filter like FILTER(ALL('Date'), NOT ISBLANK([Total Sales])) inside SUMMARIZECOLUMNS to exclude blank rows. This works because SUMMARIZECOLUMNS, by default, only returns rows where at least one measure is non-blank, but when an implicit measure like SUM returns zero for quarters with no sales, those rows can still appear. The filter explicitly removes any row where the measure evaluates to blank, ensuring only meaningful data is shown. On the PL-300 exam, this tests your understanding of how SUMMARIZECOLUMNS handles empty groups versus zero values—a common trap is confusing blank rows with zero-value rows. Remember that SUMMARIZECOLUMNS automatically excludes blanks, but not zeros, so if you see unwanted rows, check whether the measure returns blank or zero. A helpful memory tip: "Blanks are banished, zeros are kept"—so wrap your measure in NOT ISBLANK to truly clean the output.
PL-300 Visualize and analyze the data Practice Question
This PL-300 practice question tests your understanding of visualize and analyze the data. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Exhibit
Refer to the exhibit.
```
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Year],
'Date'[Quarter],
"Total Sales", SUM('Sales'[Amount])
)
ORDER BY 'Date'[Year], 'Date'[Quarter]
```
You are reviewing a DAX query that returns total sales by year and quarter. However, the result includes rows for quarters with no sales. Which modification should you make to exclude empty rows?
Refer to the exhibit.
```
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Year],
'Date'[Quarter],
"Total Sales", SUM('Sales'[Amount])
)
ORDER BY 'Date'[Year], 'Date'[Quarter]
```
A
Add a filter: 'FILTER(ALL('Date'), NOT ISBLANK([Total Sales]))' inside SUMMARIZECOLUMNS
This explicitly removes rows where Total Sales is blank.
B
No modification is needed; SUMMARIZECOLUMNS already excludes blank rows
Why wrong: Implicit measures return blank for empty groups, so SUMMARIZECOLUMNS excludes them automatically. However, the user sees rows with blanks? Actually, SUMMARIZECOLUMNS does exclude groups where all measure values are blank. So the answer is D. But the question says it includes rows with no sales. That implies the measure returns 0 instead of blank. In that case, option C would fix it. But typical behavior: SUM returns blank if no rows. So D is correct. I'll adjust: Answer is D.
C
Replace SUMMARIZECOLUMNS with ADDCOLUMNS(SUMMARIZE(...))
Why wrong: ADDCOLUMNS with SUMMARIZE does not handle blanks automatically.
D
Wrap the SUMMARIZECOLUMNS in a NATURALINNERJOIN with Sales table
Why wrong: NATURALINNERJOIN would restrict to matching rows but may alter results.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Add a filter: 'FILTER(ALL('Date'), NOT ISBLANK([Total Sales]))' inside SUMMARIZECOLUMNS
Option C is correct because KEEPFILTERS is not needed; SUMMARIZECOLUMNS by default only returns rows where at least one non-empty measure exists. However, if the measure is defined as a sum, it may return zero for empty combinations. To truly exclude rows where the measure is blank, you can add a filter. But the exhibit shows an implicit measure that returns blank for empty groups. SUMMARIZECOLUMNS automatically excludes rows where all measure values are blank. Since the measure is a simple SUM, it returns blank for quarters with no sales, so SUMMARIZECOLUMNS will exclude them. Option A is wrong because NATURALINNERJOIN is not needed. Option B is wrong because ADDCOLUMNS is unnecessary. Option D is wrong because the query already returns correct results.
Key principle: NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✓
Add a filter: 'FILTER(ALL('Date'), NOT ISBLANK([Total Sales]))' inside SUMMARIZECOLUMNS
Why this is correct
This explicitly removes rows where Total Sales is blank.
Related concept
Static NAT maps one inside address to one outside address.
✗
No modification is needed; SUMMARIZECOLUMNS already excludes blank rows
Why it's wrong here
Implicit measures return blank for empty groups, so SUMMARIZECOLUMNS excludes them automatically. However, the user sees rows with blanks? Actually, SUMMARIZECOLUMNS does exclude groups where all measure values are blank. So the answer is D. But the question says it includes rows with no sales. That implies the measure returns 0 instead of blank. In that case, option C would fix it. But typical behavior: SUM returns blank if no rows. So D is correct. I'll adjust: Answer is D.
✗
Replace SUMMARIZECOLUMNS with ADDCOLUMNS(SUMMARIZE(...))
Why it's wrong here
ADDCOLUMNS with SUMMARIZE does not handle blanks automatically.
✗
Wrap the SUMMARIZECOLUMNS in a NATURALINNERJOIN with Sales table
Why it's wrong here
NATURALINNERJOIN would restrict to matching rows but may alter results.
Common exam traps
Common exam trap: NAT rules depend on direction and matching traffic
NAT is not only about the public address. The inside/outside interface roles and the ACL or rule that matches traffic are just as important.
Detailed technical explanation
How to think about this question
NAT questions usually test address translation, overload/PAT behaviour, static mappings and whether the right traffic is being translated. Read the interface direction and address terms carefully.
KKey Concepts to Remember
Static NAT maps one inside address to one outside address.
PAT allows many inside hosts to share one public address using ports.
Inside local and inside global describe the private and translated addresses.
NAT ACLs identify traffic for translation, not always security filtering.
TExam Day Tips
→Identify inside and outside interfaces first.
→Check whether the scenario needs static NAT, dynamic NAT or PAT.
→Do not confuse NAT matching ACLs with normal packet-filtering intent.
Key takeaway
NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Real-world example
How this comes up in practice
A cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated. Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.
What to study next
Got this wrong? Here's your next step.
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related PL-300 NAT questions on configuration and troubleshooting.
Visualize and analyze the data — This question tests Visualize and analyze the data — Static NAT maps one inside address to one outside address..
What is the correct answer to this question?
The correct answer is: Add a filter: 'FILTER(ALL('Date'), NOT ISBLANK([Total Sales]))' inside SUMMARIZECOLUMNS — Option C is correct because KEEPFILTERS is not needed; SUMMARIZECOLUMNS by default only returns rows where at least one non-empty measure exists. However, if the measure is defined as a sum, it may return zero for empty combinations. To truly exclude rows where the measure is blank, you can add a filter. But the exhibit shows an implicit measure that returns blank for empty groups. SUMMARIZECOLUMNS automatically excludes rows where all measure values are blank. Since the measure is a simple SUM, it returns blank for quarters with no sales, so SUMMARIZECOLUMNS will exclude them. Option A is wrong because NATURALINNERJOIN is not needed. Option B is wrong because ADDCOLUMNS is unnecessary. Option D is wrong because the query already returns correct results.
What should I do if I get this PL-300 question wrong?
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related PL-300 NAT questions on configuration and troubleshooting.
What is the key concept behind this question?
Static NAT maps one inside address to one outside address.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.