Skip to main content
cancel
Showing results for 
Search instead 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.

Reply
phjz
Frequent Visitor

Changing Filter Context in Measure

Hey guys,

 

I have a measure that sums up values per week and multiplies them with a factor:

Actuals = Sumx(SUMMARIZE(Channels,Channels[Category]),sum('Actuals'[Value]) * (1 + min('Factors'[Value])))
 
Now, I want to calculate a YTD, which averages all Actuals until a selected calendar week. But, when I try this formula:
 
YTD = CALCULATE(AVERAGEX(SUMMARIZE('Actuals','Actuals'[CW],"Weekly",[Actuals]),[Weekly]),FILTER(all(Calendar),Calendar[Year] = MAX(Calendar[Year]) && Calendar[Date] <= MAX(Calendar[Date])))
 
...it doesn't work, because it seems, that DAX chooses the minimum of all factors for every single value before averaging. But I want it to apply a certain factor for every week and after that average the values.
 
Does anybody have an idea?
 
Thanks! 
2 ACCEPTED SOLUTIONS
v-rongtiep-msft
Community Support
Community Support

Hi @phjz ,

Please have a try.

YTD Actuals Average = 
VAR CurrentYear = MAX(Calendar[Year])
VAR LastDate = MAX(Calendar[Date])
RETURN
AVERAGEX(
    FILTER(
        SUMMARIZE('Calendar', Calendar[Year], Calendar[Date], "WeekActuals", [Actuals]),
        Calendar[Year] = CurrentYear && Calendar[Date] <= LastDate
    ),
    [WeekActuals]
)

 

How to Get Your Question Answered Quickly 

 

If it does not help, please provide more details with your desired output and pbix file without privacy information (or some sample data) .

 

Best Regards
Community Support Team _ Rongtie

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

 

 

 

 

View solution in original post

this works perfectly - thank you so much!

View solution in original post

5 REPLIES 5
v-rongtiep-msft
Community Support
Community Support

Hi @phjz ,

Please have a try.

YTD Actuals Average = 
VAR CurrentYear = MAX(Calendar[Year])
VAR LastDate = MAX(Calendar[Date])
RETURN
AVERAGEX(
    FILTER(
        SUMMARIZE('Calendar', Calendar[Year], Calendar[Date], "WeekActuals", [Actuals]),
        Calendar[Year] = CurrentYear && Calendar[Date] <= LastDate
    ),
    [WeekActuals]
)

 

How to Get Your Question Answered Quickly 

 

If it does not help, please provide more details with your desired output and pbix file without privacy information (or some sample data) .

 

Best Regards
Community Support Team _ Rongtie

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

 

 

 

 

this works perfectly - thank you so much!

3CloudThomas
Super User
Super User

Then, you need a COUNT measure and then DIVIDE the 2 measures.

3CloudThomas
Super User
Super User

Actuals YTD = TotalYTD( [Actuals], Calendar[Date]
Make sure your Calendar table is Marked as Date Table

Thanks for your reply. It seems that TOTALYTD sums up the values, but I want them to calculate an average. Do you have an idea for this as well?

Helpful resources

Announcements
Microsoft Fabric Learn Together

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

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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