Forum Discussion
4 weeks average based on weekrank
- Anonymous6 years ago
Hi Anonymous
I build two table to have a test.
Date Table:
Weeknom and Rank columns are calculated columns.
Weeknom = WEEKNUM('Date'[Date],2)Rank = RANKX('Date','Date'[Date],,DESC,Dense)Result:
Value Table:
Build Value measure in Date table:
Value = CALCULATE(SUM('Value'[Value]),FILTER('Value','Value'[Date]=MAX('Date'[Date])))Then I build a measure to achieve your goal.
4 weeks average = VAR _Totalvalue= SUMX ( FILTER ( ALL ( 'Date' ), 'Date'[Rank] <= MAX ( 'Date'[Rank] ) + 3 && 'Date'[Rank] >= MAX ( 'Date'[Rank] ) ), [Value] ) return IF ( MAXX ( ALL ( 'Date' ), 'Date'[Rank] ) - SUM ( 'Date'[Rank] ) >= 3, DIVIDE(_Totalvalue,4), BLANK() )Result:
You can download the pbix file from this link: 4 weeks average based on weekrank
Best Regards,
Rico Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous , refer, there is rolling formula
WTD Questions— Time Intelligence 4–5
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
- amitchandak6 years agoSuper User
Anonymous , Try like
Last 4 Week = CALCULATE(Average(Table[value]),FILTER(all('Table'),'Table'[Rank]>=min('Table'[Rank])-4
&& 'Table'[Rank]<=max('Table'[Rank])))
Last 4 Week = CALCULATE(Average(Table[value]),FILTER(allselected('Table'),'Table'[Rank]>=min('Table'[Rank])-4
&& 'Table'[Rank]<=max('Table'[Rank])))But prefer to have a week table and week and rank there
Like
Last 4 Week = CALCULATE(Average(Table[value]),FILTER(all('WEEK'),'WEEK'[Rank]>=min('WEEK'[Rank])-4
&& 'WEEK'[Rank]<=max('WEEK'[Rank])))
Last 4 Week = CALCULATE(Average(Table[value]),FILTER(allselected('WEEK'),'WEEK'[Rank]>=min('WEEK'[Rank])-4
&& 'WEEK'[Rank]<=max('WEEK'[Rank])))