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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

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
July 2025 community update carousel

Fabric Community Update - July 2025

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

July PBI25 Carousel

Power BI Monthly Update - July 2025

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