Forum Discussion

basketballer202's avatar
basketballer202
Frequent Visitor
4 years ago
Solved

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

  • 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))

     

     

  • 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.

     

  • Anonymous's avatar
    Anonymous
    Not 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