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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
Anonymous
Not applicable

Keep filter Vs Calculate filter function

Hi

 

What is difference between below 2 formulas. With below formulas I got same results.

Then What is the use of KEEP FILTER & Where it is useful.

 

1)  CALCULATE(SUM(Data[Sales Amount]),FILTER(Data,Data[Product Category]="Formal"))

2)   CALCULATE(SUM(Data[Sales Amount]),KEEPFILTERS(Data[Product Category]="Formal"))

 

Regards

Raj Kumar

1 ACCEPTED SOLUTION
v-luwang-msft
Community Support
Community Support

Hi @Anonymous ,

The FILTER function is used to return a subset table that contains the filtered rows.

Syntax:

FILTER(<table>,<filter>)

table → Mention table name which needs to be filtered.

filter → Expression which will be evaluated for each row of the table.

Some key points to remember about this function are following

1.FILTER cannot work independently, it should be embedded in other DAX functions that require a table as an argument.
2.This function is not supported by the DirectQuery connection mode.
KEEPFILTERS Function
Similarly, the KEEPFILTERS function is also used to return a subset table that contains the filtered rows.

Syntax:

KEEPFILTERS(expression)

expression → The expression will be evaluated for each row of the table.

Some key points to remember about this function are following

1.KEEPFILTERS function is used within another DAX function like CALCULATE, and then it will override the standard behaviour of the main function.
2.This function is not supported by the DirectQuery connection mode.

 

To learn more details about the different between the two dax ,refer the below article:

How to Work with FILTER, KEEPFILTERS, REMOVEFILTERS Functions in DAX — DAX in Power BI

 

 

Best Regards

Lucien

View solution in original post

2 REPLIES 2
v-luwang-msft
Community Support
Community Support

Hi @Anonymous ,

The FILTER function is used to return a subset table that contains the filtered rows.

Syntax:

FILTER(<table>,<filter>)

table → Mention table name which needs to be filtered.

filter → Expression which will be evaluated for each row of the table.

Some key points to remember about this function are following

1.FILTER cannot work independently, it should be embedded in other DAX functions that require a table as an argument.
2.This function is not supported by the DirectQuery connection mode.
KEEPFILTERS Function
Similarly, the KEEPFILTERS function is also used to return a subset table that contains the filtered rows.

Syntax:

KEEPFILTERS(expression)

expression → The expression will be evaluated for each row of the table.

Some key points to remember about this function are following

1.KEEPFILTERS function is used within another DAX function like CALCULATE, and then it will override the standard behaviour of the main function.
2.This function is not supported by the DirectQuery connection mode.

 

To learn more details about the different between the two dax ,refer the below article:

How to Work with FILTER, KEEPFILTERS, REMOVEFILTERS Functions in DAX — DAX in Power BI

 

 

Best Regards

Lucien

lukiz84
Memorable Member
Memorable Member

FILTER filters a table

 

KEEPFILTERS keeps the existing filters on a column

 

KEEPFILTERS – DAX Guide

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

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.

Top Solution Authors
Top Kudoed Authors