Forum Discussion
MTD function based of week num
Hi Team,
Looking for a little guidance. I'd like to calculate MTD revenue using week numbers that are tied to a month
So for example:
Month 1 = week 1/2/3/4
Month 2 = week 5/6/7/8/9
- If i select week 3, i'd like the MTD revenue from week 1/2/3
- If i select week 8, i'd like the MTD revenue from week 5/6/7/8
I have a table that associates every week to a given month.
Would you happen to know what functions/resources i could use to help me achieve this?
Thanks in advance!
Ray
basketballer202 , if week and month are part of date table , you can get it using time intelligence
MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
MTD =
var _max = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _min = eomonth(_max,-1)+1 ,
return
CALCULATE([net] ,DATESBETWEEN('Date'[Date],_min,_max))
3 Replies
- amitchandak
Super User
basketballer202 , if week and month are part of date table , you can get it using time intelligence
MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
MTD =
var _max = if(isfiltered('Date'),MAX( 'Date'[Date]) , today())
var _min = eomonth(_max,-1)+1 ,
return
CALCULATE([net] ,DATESBETWEEN('Date'[Date],_min,_max)) - Jihwan_Kim
Super User
Hi,
I am not sure how your data model looks like, but I tried to create a sample pbix file like below.
Please check the below picture and the attached pbix file.
I hope this provides some idea on how to create a solution for your data model.
Sales: = SUM( Sales[Revenue] )Sales MTD: = IF ( HASONEVALUE ( 'Calendar'[Month] ), CALCULATE ( [Sales:], FILTER ( ALL ( 'Calendar' ), 'Calendar'[Month] = MAX ( 'Calendar'[Month] ) && 'Calendar'[Week] <= MAX ( 'Calendar'[Week] ) ) ) )In case if year column matters, please also put the condition that looks for the same year as well.
- AnonymousNot applicable
Hi basketballer202 ,
I created some data:
Here are the steps you can follow:
1. Create measure.
Flag = var _select=SELECTEDVALUE('Slicer'[Week]) var _selectmonth=CALCULATE(MAX('Table'[Month]),FILTER(ALL('Table'),'Table'[Week]=_select)) return IF( MAX('Table'[Month])=_selectmonth&&MAX('Table'[Week])<=_select,1,0)Measure = SUMX(ALLSELECTED('Table'),[Amount])2. Place [Flag]in Filters, set is=1, apply filter.
3. Result:
If you need pbix, please click here.
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly