Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
campelliann
Post Patron
Post Patron

Unexpected Removefilters Behavior?

Hi there,


In the bottom left chart, I should see all the employees, regardless the selection of "categoria carreira" slicer, which is selected for "10. Trainee". In the first image the behavior is as expected. When I change values on the slicer the chart remains the same.

Now in the second image I've added a page level filter, with another column from the same table where the calculation happens. 
The slicer is from a "Beebole Time Export [Categoria à data]", the page level filter is from "Beeobole Time Export [Categoria à data (sem ordenação)]. The thing is that now when I change the slicer for "10. Trainee" it is counting only the trainees. 

The measure is CALCULATE ( [#categoria], REMOVEFILTERS ([Categoria à data]). Now if I am removing the filter from the slicer why is the value changing when I change the selection in the slicers? 

Thank you very much.

 

 

 

campelliann_1-1746200478215.png

campelliann_0-1746200449375.png

 

1 ACCEPTED SOLUTION
SolomonovAnton
Super User
Super User

🛠️ Unexpected REMOVEFILTERS Behavior – Why Your Measure Still Responds to the Slicer

You're facing a subtle issue in DAX and Power BI filtering behavior related to column lineage and the REMOVEFILTERS() function.


🔍 Problem Recap

  • You have a slicer using Beebole_Time_Export[Categoria à data]
  • You created a measure like:
    #categoria(All) = CALCULATE([#categoria], REMOVEFILTERS(Beebole_Time_Export[Categoria à data]))
  • This correctly ignores slicer filters (as shown in image 1).
  • But after adding a page-level filter using Beebole_Time_Export[Categoria à data (sem ordenação)] (which is likely a duplicate or derived column), the measure becomes sensitive to the slicer again (image 2).

💡 Root Cause: Filter Propagation from Related Columns

Even though you're removing filters from [Categoria à data], the page-level filter on [Categoria à data (sem ordenação)] still applies context to the same rows. Both columns are from the same table and likely share the same values row-by-row.

This means: the filter on [Categoria à data (sem ordenação)] indirectly restricts the rows visible to your measure, even though you're using REMOVEFILTERS on the slicer column.


Solution Options

Option 1: Remove All Filters from the Table

#categoria(All) = CALCULATE(
    [#categoria],
    REMOVEFILTERS('Beebole_Time_Export')
)

This clears all filters from the table, not just a specific column. That way, page-level filters and slicers alike are ignored.

Option 2: Remove Multiple Filters Explicitly

#categoria(All) = CALCULATE(
    [#categoria],
    REMOVEFILTERS(
        Beebole_Time_Export[Categoria à data],
        Beebole_Time_Export[Categoria à data (sem ordenação)]
    )
)

Use this if you want to retain filters from other parts of the table, but exclude both columns involved in the filtering issue.

Option 3: Use ALL() for More Explicit Control

#categoria(All) = CALCULATE(
    [#categoria],
    ALL(Beebole_Time_Export[Categoria à data])
)

This works similarly, but ALL() can behave differently in more complex filter scenarios. REMOVEFILTERS() is usually clearer and more modern.


🧪 Final Tip

If you're building complex logic around these filters, it might help to use SELECTEDVALUE() or ISFILTERED() checks to debug and visualize what filters are actually being applied.


Try updating your measure and test again by selecting different "Categoria Carreira" slicer options to confirm that filtering is now properly removed!

✔️ If my message helped solve your issue, please mark it as Resolved!

👍 If it was helpful, consider giving it a Kudos!

View solution in original post

3 REPLIES 3
v-saisrao-msft
Community Support
Community Support

Hi @campelliann ,
I wanted to check if you had the opportunity to review the information provided by @SolomonovAnton . Please feel free to contact us if you have any further questions. If the response has addressed your query, please accept it as a solution and give a 'Kudos' so other members can easily find it.
Thank you.

 

SolomonovAnton
Super User
Super User

🛠️ Unexpected REMOVEFILTERS Behavior – Why Your Measure Still Responds to the Slicer

You're facing a subtle issue in DAX and Power BI filtering behavior related to column lineage and the REMOVEFILTERS() function.


🔍 Problem Recap

  • You have a slicer using Beebole_Time_Export[Categoria à data]
  • You created a measure like:
    #categoria(All) = CALCULATE([#categoria], REMOVEFILTERS(Beebole_Time_Export[Categoria à data]))
  • This correctly ignores slicer filters (as shown in image 1).
  • But after adding a page-level filter using Beebole_Time_Export[Categoria à data (sem ordenação)] (which is likely a duplicate or derived column), the measure becomes sensitive to the slicer again (image 2).

💡 Root Cause: Filter Propagation from Related Columns

Even though you're removing filters from [Categoria à data], the page-level filter on [Categoria à data (sem ordenação)] still applies context to the same rows. Both columns are from the same table and likely share the same values row-by-row.

This means: the filter on [Categoria à data (sem ordenação)] indirectly restricts the rows visible to your measure, even though you're using REMOVEFILTERS on the slicer column.


Solution Options

Option 1: Remove All Filters from the Table

#categoria(All) = CALCULATE(
    [#categoria],
    REMOVEFILTERS('Beebole_Time_Export')
)

This clears all filters from the table, not just a specific column. That way, page-level filters and slicers alike are ignored.

Option 2: Remove Multiple Filters Explicitly

#categoria(All) = CALCULATE(
    [#categoria],
    REMOVEFILTERS(
        Beebole_Time_Export[Categoria à data],
        Beebole_Time_Export[Categoria à data (sem ordenação)]
    )
)

Use this if you want to retain filters from other parts of the table, but exclude both columns involved in the filtering issue.

Option 3: Use ALL() for More Explicit Control

#categoria(All) = CALCULATE(
    [#categoria],
    ALL(Beebole_Time_Export[Categoria à data])
)

This works similarly, but ALL() can behave differently in more complex filter scenarios. REMOVEFILTERS() is usually clearer and more modern.


🧪 Final Tip

If you're building complex logic around these filters, it might help to use SELECTEDVALUE() or ISFILTERED() checks to debug and visualize what filters are actually being applied.


Try updating your measure and test again by selecting different "Categoria Carreira" slicer options to confirm that filtering is now properly removed!

✔️ If my message helped solve your issue, please mark it as Resolved!

👍 If it was helpful, consider giving it a Kudos!

Thanks for your help! The deeper issue is "Auto exist" dax feature. There are some articles on the subject on SQLBI.com

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.