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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Waseem
Helper III
Helper III

Applying filter on a YTD function

Dear Community 

 

I have a measure to calculate YTD numbers as follows:

 

YTD-Rev-CoS = CALCULATE(SUM(Model'[Value]),DATESYTD('New Date'[Date]),ALLSELECTED('New Date'[Month]))
 
I have another field namely Cost Type with two values as "Revenue" and "CoS". I am trying to apply a filter on the above function to filter for "Revenue" only using following formula:
 
SUMX(FILTER('Model',[Cost Type]="Revenue"),[YTD-Rev-CoS])
 
However I always get an incorrect number. Can someone please help as to if i am missing something?
 
Regards 
1 ACCEPTED SOLUTION
rohit1991
Super User
Super User

Hi @Waseem ,

You're close in your approach, but the issue lies in how the filter is being applied within your DAX expression. Your original YTD measure [YTD-Rev-CoS] already performs a CALCULATE operation, and then you're wrapping that in a SUMX over a filtered table, which can lead to context issues and incorrect results. Instead, you should apply the filter directly within the CALCULATE function that defines the YTD measure. For example, revise the measure like this:
YTD-Revenue = CALCULATE(SUM('Model'[Value]), DATESYTD('New Date'[Date]), 'Model'[Cost Type] = "Revenue", ALLSELECTED('New Date'[Month])).


This ensures that the "Revenue" filter is applied at the same level as the time intelligence logic, maintaining proper context and yielding correct results. Wrapping an existing measure in a FILTER function post-calculation can sometimes break the intended evaluation context, especially with time functions like DATESYTD.

 

Passionate about leveraging data analytics to drive strategic decision-making and foster business growth.

Connect with me on LinkedIn: Rohit Kumar.

 

View solution in original post

2 REPLIES 2
rohit1991
Super User
Super User

Hi @Waseem ,

You're close in your approach, but the issue lies in how the filter is being applied within your DAX expression. Your original YTD measure [YTD-Rev-CoS] already performs a CALCULATE operation, and then you're wrapping that in a SUMX over a filtered table, which can lead to context issues and incorrect results. Instead, you should apply the filter directly within the CALCULATE function that defines the YTD measure. For example, revise the measure like this:
YTD-Revenue = CALCULATE(SUM('Model'[Value]), DATESYTD('New Date'[Date]), 'Model'[Cost Type] = "Revenue", ALLSELECTED('New Date'[Month])).


This ensures that the "Revenue" filter is applied at the same level as the time intelligence logic, maintaining proper context and yielding correct results. Wrapping an existing measure in a FILTER function post-calculation can sometimes break the intended evaluation context, especially with time functions like DATESYTD.

 

Passionate about leveraging data analytics to drive strategic decision-making and foster business growth.

Connect with me on LinkedIn: Rohit Kumar.

 

@rohit1991  many thanks. Its clear and resolved my issues as well. All Kudus to you man

 

Regards 

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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