Forum Discussion

DAX_merchant's avatar
DAX_merchant
Helper II
8 months ago
Solved

Using ALL on multiple report level filters from the same table

Hello Forum, I want to preface this post by aknowledging that the situation described is purely hypothetical and I know that a situation like this would likely never arise in an actual report. I a...
  • v-hashadapu's avatar
    v-hashadapu
    8 months ago

    Hi DAX_merchant , Thank you for reaching out to the Microsoft Community Forum.

     

    In DAX, rows are never evaluated first and then filtered, the engine always does the opposite. The filter context defines the complete rowset up front and the calculation is evaluated only inside that rowset. If a row is inside the constrained set, it is considered, if it is outside, it does not exist to the calculation at all. There is no later step where DAX asks whether an existing filter is actually affecting the result.

     

    A filter on a calculated column like [Current Month] does not permanently or universally become a filter on Date[Date]. That rewrite happens opportunistically. When [Current Month] is the only filter, removing it leaves no remaining constraints, so October becomes visible. When an explicit Date[Date] filter is also present, the engine now has two independent constraints on the same table. Removing only one does not expand the evaluation space, because the other constraint still defines the rowset.

     

    So yes, even if only one filter truly excludes rows in a way that changes the result, all filters that exist must be removed to escape the constrained context. DAX does not rank, simplify or ignore filters based on perceived impact. Filters define the evaluation space and that space must be fully cleared before the engine can see beyond it.