cancel
Showing results for
Did you mean:

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Regular Visitor

CALCULATE function does not filter data

I am trying to use the CALCULATE function in DAX to find sum of income in last 12 months. The measure I am using is as below

Sub measures

Latest Month in Table = MAX(pbi_inc[yymm])
Samemonth_prev year = [Latest Month in Table] -100

Main DAX:

income_inc=
var lm = [Latest Month in Table]

var r12m = [ Samemonth_prev year]

return CALCULATE(SUM(pbi_inc[inc], pbi_inc[ic/cr] =1,pbi_inc[yymm] >=lm , pbi_inc[yymm] <=r12m)

The issue I am facing is the Calculate function is not filtering data for yymm. It filters data when I change the ic/cr value but not for yymm.

It works fine when I hardcode to something like 2112 but not when I use variables and submeasures.

I have compared the data types and spaces and all are compatible. All fields are taken from the same fact table

1 ACCEPTED SOLUTION
Community Support

I think you can try to use the DATESINPERIOD function to quickly solve for the sum over the past period of dates. Refer to the following formula:

``````M_ =
CALCULATE (
SUM ( 'Table'[Value] ),
DATESINPERIOD ( 'Table'[Date], MAX ( 'Table'[Date] ), -12, MONTH )
)``````

Or create a date column and dynamically filter a date to find the sum over time.

``````M_1 =
CALCULATE (
SUM ( 'Table'[Value] ),
DATESINPERIOD ( 'Table'[Date], SELECTEDVALUE ( Tab_data[Date] ), -12, MONTH )
)``````

Also you can read related blog for more details:

5 ways to calculate last 12 months in DAX for Power BI - BI Gorilla

Solved: How to calculate last 12 months - Microsoft Power BI Community

If the problem is still not resolved, please provide detailed error information and let me know immediately. Looking forward to your reply.

Best Regards,
Henry

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

2 REPLIES 2
Community Support

I think you can try to use the DATESINPERIOD function to quickly solve for the sum over the past period of dates. Refer to the following formula:

``````M_ =
CALCULATE (
SUM ( 'Table'[Value] ),
DATESINPERIOD ( 'Table'[Date], MAX ( 'Table'[Date] ), -12, MONTH )
)``````

Or create a date column and dynamically filter a date to find the sum over time.

``````M_1 =
CALCULATE (
SUM ( 'Table'[Value] ),
DATESINPERIOD ( 'Table'[Date], SELECTEDVALUE ( Tab_data[Date] ), -12, MONTH )
)``````

Also you can read related blog for more details:

5 ways to calculate last 12 months in DAX for Power BI - BI Gorilla

Solved: How to calculate last 12 months - Microsoft Power BI Community

If the problem is still not resolved, please provide detailed error information and let me know immediately. Looking forward to your reply.

Best Regards,
Henry

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

Super User

You may be overcomplicating things a bit. Read about the EDATE() function. Also, your comparators are the wrong way round.

pbi_inc[yymm] >=lm , pbi_inc[yymm] <=r12m

you should use

pbi_inc[yymm] <=lm , pbi_inc[yymm] >=r12m

Announcements

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

Power BI Monthly Update - April 2024

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

Fabric Community Update - April 2024

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

Top Solution Authors
Top Kudoed Authors