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

Shape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.

Reply
gssffh
Regular Visitor

REMOVEFILTERS including more records than intended

I'm sure this is a basic question that I just haven't found the right Google search terms for. I have some dental data where I am trying to include patients treated on a specific day, but summarize all procedures regardless of date just for those patients. If I create a measure using CALCULATE that includes REMOVEFILTERS for the date column, it is calculating the correct number of procedures for each patient (e.g. placing the measure in a table where it is summarizing for each patient), but when placing this measure on a card it is including all procedures for all patients. It makes sense to me why this would happen, but I can't think of a solution. Here is is the formula:

 

Cavities Needing Filled = CALCULATE(COUNT('Data'[PROC_LOGIDDB]), Data[ADACODE] >= "D2140" && Data[ADACODE] <= "D3999", Data[CHART_STATUS] >= 105 && Data[CHART_STATUS] <= 107, REMOVEFILTERS(Data[PLDATE]))
5 REPLIES 5
v-xicai
Community Support
Community Support

Hi  @gssffh  ,

 

Do the suggestions from engineers make sense? If so, kindly mark the proper reply as a solution to help others having the similar issue and close the case. If not, let me know and I'll try to help you further.

 

Best regards

Amy

Sorry @v-xicai, but it is still not working. It only gave returned a value of 1 for a single patient. I also tried

Cavities Needing Filled Test =
CALCULATE(
COUNT('Data'[PROC_LOGIDDB]), Data[ADACODE] >= "D2140" && Data[ADACODE] <= "D3999" || Data[ADACODE] = "RCTREF", Data[CHART_STATUS] >= 105 && Data[CHART_STATUS] <= 107,
ALLSELECTED(Data[CHART]), REMOVEFILTERS(Data[PLDATE])
)
 
However, it gives me the same result as my original DAX statement.
v-xicai
Community Support
Community Support

Hi @gssffh ,

 

From the article, we know that REMOVEFILTERS function is identical to the ALL function, which will take effect of all selections for Data[PLDATE].

 

You may change the formula like DAX below.

 

 

Cavities Needing Filled =
IF (
    HASONEFILTER ( Data[PLDATE] ),
    CALCULATE (
        COUNT ( 'Data'[PROC_LOGIDDB] ),
        FILTER (
            'Data',
            Data[ADACODE] >= "D2140"
                && Data[ADACODE] <= "D3999"
                && Data[CHART_STATUS] >= 105
                && Data[CHART_STATUS] <= 107
        )
    )
)

 

 

Best Regards,

Amy 

 

Community Support Team _ Amy

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

mpicca13
Resolver IV
Resolver IV

You said your looking by specific date, are you using a date filter?

If so maybe replacing REMOVEFILTERS() with ALLSELECTED().

 

 

Yes, I am using a date slicer on PLDATE and allowing only one date at a time to be selected. I tried replacing REMOVEFILTERS with ALLSELECTED and now it only returns a quantity of 1 for a single patient.

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

Find out what's new and trending in the Fabric Community.

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.