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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

July Newsletter

Fabric Community Update - July 2024

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