Exam DP-600 All QuestionsBrowse all questions from this exam
Question 94

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?

    Correct Answer: D

    Replacing the FILTER function with the KEEPFILTERS function can reduce execution time when the FILTER function references a column from a single table that uses Import mode. This is because KEEPFILTERS is designed to maintain existing filter contexts efficiently without creating new ones, thus optimizing performance in scenarios where filters are applied to imported tables.

Discussion
lpuechOption: D

Explanation here: https://learn.microsoft.com/en-us/dax/best-practices/dax-avoid-avoid-filter-as-filter-argument FILTER returns a table whereas KEEPFILTERS returns a Boolean. So, A, B and C are limitations of uses of Boolean expressions.

trietnvOption: D

D. ref: https://learn.microsoft.com/en-us/dax/best-practices/dax-avoid-avoid-filter-as-filter-argument

pppppppppieOption: A

he KEEPFILTERS function in Power BI is primarily designed to work with single-table or single-column filter contexts. When you use the FILTER function to reference columns from multiple tables, KEEPFILTERS may not work directly because it operates within the context of a single table or column. A is the ans

thisistonOption: A

A is correct because Option A (when the FILTER function uses a nested calculate function): The FILTER function in DAX filters a table to the rows that meet the condition provided in its arguments. When FILTER is used within a CALCULATE function, it typically modifies the context in which the calculation is performed. If FILTER uses a nested CALCULATE function, it creates a context transition. Using KEEPFILTERS in this scenario can improve performance by modifying the behavior of context transition to ensure that existing filters on a table are not unintentionally removed or overridden, which can otherwise increase the complexity and computational load of the query.

neovermaOption: C

In general, every time you have to preserve the combination of columns coming from different tables, KEEPFILTERS is probably needed. Even though this could be required for columns of the same table, KEEPFILTERS is not required whenever there is a column that represents a cardinality higher than the intersection of the other columns – such as Date[Calendar Year Month] instead of the intersection of Date[Month] and Date[Calendar Year]. https://www.sqlbi.com/articles/when-to-use-keepfilters-over-iterators/

Unbounded

You cannot reference columns from multiple tables within the same FILTER

IAMcertifiedOption: D

The answer is D based on this page: https://learn.microsoft.com/en-us/dax/best-practices/dax-avoid-avoid-filter-as-filter-argument . Check out this Note in the given link "This article is especially relevant for model calculations that apply filters to Import tables.". Also, see this section extract in the given link : "restrictions that apply to Boolean expressions(KEEP Filters) when they're used as filter arguments. They: -Cannot reference columns from multiple tables -Cannot reference a measure -Cannot use nested CALCULATE functions -Cannot use functions that scan or return a table

282b85dOption: D

The use case in which replacing the FILTER function with the KEEPFILTERS function will most likely reduce execution time is when the FILTER function references a column from a single table that uses Import mode. This scenario allows KEEPFILTERS to optimize the filter application process more efficiently than FILTER.

trysecOption: D

This is because KEEPFILTERS can efficiently maintain the current filter context on the imported table without the need to create a new table through FILTER, thus reducing the computational overhead and improving performance.

emmanuelkechOption: B

When you replace FILTER with KEEPFILTERS, you avoid re-evaluating the entire table for each row. Instead, it leverages the existing context, resulting in better performance.

dp600

view this --> https://community.fabric.microsoft.com/t5/DAX-Commands-and-Tips/1-Diff-between-Filter-and-KeepFilters/m-p/2694220

PegooliOption: B

Selected Answer: B Replace FILTER with KEEPFILTERS in measures when you want to retain and respect existing filters in the current context, leading to potentially improved performance by reducing the overhead associated with creating new filter contexts.

6d1de25Option: D

D is correct

DarioReymagoOption: A

The answer is A we use keep filters for nesting https://learn.microsoft.com/en-us/dax/keepfilters-function-dax

David_WebbOption: A

KEEPFILTERS is a filter modifier that does not delete existing column or table filters in the filter context that conflict with the filters applied by the KEEPFILTERS parameter. https://community.fabric.microsoft.com/t5/Desktop/Conceptual-Question-FILTER-vs-KEEPFILTERS-vs-neither-What-is-the/td-p/1438803

dp600Option: A

I'm a bit confused, in any case I will go with A because context transition

Unbounded

This is a very confusing question. If a FILTER references the entire table rather than a single table, then using KEEPFILTER is a better choice, but none of the options actually specify that.

hello2tomokiOption: C

Replacing the FILTER function with the KEEPFILTERS function will reduce execution time in the use case where the FILTER function references columns from multiple tables (Option C). This is because KEEPFILTERS is more efficient when it intersects with an existing filter context, which can occur when conditions involve multiple columns (https://www.sqlbi.com/articles/using-keepfilters-in-dax-updated/)