nerdexam
Microsoft

DP-600 · Question #83

You have a Microsoft Power BI semantic model that contains measures. The measures use multiple CALCULATE functions and a FILTER function. You are evaluating the performance of the measures. In which…

The correct answer is D. when the FILTER function references a column from a single table that uses Import mode. KEEPFILTERS is a modifier function that changes how CALCULATE applies filters - instead of overriding existing filters, it intersects with them. The performance benefit of replacing FILTER with KEEPFILTERS applies specifically when FILTER is iterating over a single column of a…

Submitted by femi9· Apr 18, 2026Implement and manage semantic models

Question

You have a Microsoft Power BI semantic model that contains measures. The measures use multiple CALCULATE functions and a FILTER function. You are evaluating the performance of the measures. In which use case will replacing the FILTER function with the KEEPFILTERS function reduce execution time?

Options

  • Awhen the FILTER function uses a nested calculate function
  • Bwhen the FILTER function references a measure
  • Cwhen the FILTER function references columns from multiple tables
  • Dwhen the FILTER function references a column from a single table that uses Import mode

How the community answered

(60 responses)
  • A
    3% (2)
  • B
    8% (5)
  • C
    17% (10)
  • D
    72% (43)

Explanation

KEEPFILTERS is a modifier function that changes how CALCULATE applies filters - instead of overriding existing filters, it intersects with them. The performance benefit of replacing FILTER with KEEPFILTERS applies specifically when FILTER is iterating over a single column of a table in Import mode. In this scenario, FILTER(Table, Table[Column] = value) iterates over every row, while KEEPFILTERS operates at the filter context level without row-by-row iteration, allowing the VertiPaq engine to use its column store compression and in-memory bitmaps efficiently. It does NOT help when FILTER references a measure (measures require row context evaluation), multiple tables (cross-table iteration is needed), or nested CALCULATE (different execution pattern).

Topics

#DAX Optimization#KEEPFILTERS#FILTER function#Performance Tuning

Community Discussion

No community discussion yet for this question.

Full DP-600 Practice