Forum Discussion

andrehawari's avatar
andrehawari
Helper II
7 years ago
Solved

Next Week Function

I need a measure to calculate next week value. I already formated the data model that only include row in weekly level. 

The next week value should be accomodated by two slicer: Filter 1 and Filter2

 

Any idea to create either measure/calculated column to achieve this result ?

 

 

 

The sample data model is in this link

https://drive.google.com/open?id=1vQxhDpjojoDvA4AUzRgNbN7o3ITDulPP

  • Slightly amended the formula to take into account the first week as well

     

    next_week = CALCULATE(
    SUM(Sheet1[Value]),
    	FILTER(ALL(Sheet1), IF(WEEKNUM(Sheet1[Date], 21)=51,0,WEEKNUM(Sheet1[Date], 21)) = IF(WEEKNUM(MAX(Sheet1[Date]), 21)=51,0,WEEKNUM(MAX(Sheet1[Date]), 21)) + 1
        && Sheet1[Filter1] = MAX(Sheet1[Filter1])
        && Sheet1[Filter2] = MAX(Sheet1[Filter2])
    	))

5 Replies

  • themistoklis's avatar
    themistoklis
    Community Champion

    andrehawari

     

    Add tis formula on a measure:

     

    next_week = CALCULATE(
    SUM(Sheet1[Value]),
    	FILTER(ALL(Sheet1), WEEKNUM(Sheet1[Date]) = WEEKNUM(MAX(Sheet1[Date])) + 1
        && Sheet1[Filter1] = MAX(Sheet1[Filter1])
        && Sheet1[Filter2] = MAX(Sheet1[Filter2])
    	))

     

    OR THIS

     

    next_week = CALCULATE(
    SUM(Sheet1[Value]),
    	FILTER(ALL(Sheet1), WEEKNUM(Sheet1[Date]) = WEEKNUM(MAX(Sheet1[Date])) + 1
        && Sheet1[Filter1] = MAX(Sheet1[Filter1])
        && Sheet1[Filter2] = MAX(Sheet1[Filter2])
    	))

    Also it seems that you first YEARMONTHWEEK value may be wrong. 

    • andrehawari's avatar
      andrehawari
      Helper II

      Hi, Thanks for the solution. Unfortunately I cannot use the WEEKNUM Function because  the week definiton is customized and changed according to users. Instead, i Have to use YEAR_MONTH_WEEK column (it is formated as integer).

      Also the first date row, 23 Dec 2017 is intended as it is, because the date can be any, as long as it is on the date 1,8,15,23

       

      I modified your measure, but it gives me nothing . Any advice ?

       

      next_week = CALCULATE(
      SUM(Sheet1[Value]),
      	FILTER(ALL(Sheet1), WEEKNUM(Sheet1[WEEK_YEAR_MONTH]) = WEEKNUM(MAX(Sheet1[WEEK_YEAR_MONTH])) + 1
          && Sheet1[Filter1] = MAX(Sheet1[Filter1])
          && Sheet1[Filter2] = MAX(Sheet1[Filter2])
      	))

       

      • themistoklis's avatar
        themistoklis
        Community Champion

        andrehawari

         

        You mentioned that you cant use weeknum function but you are using it in your formula.

         

        Were you referring to something different?

         

        Also the first YEARMONTHWEEK is wrong.

        It says 20181204 and the relevant date is 23/12/2017

  • themistoklis's avatar
    themistoklis
    Community Champion

    Slightly amended the formula to take into account the first week as well

     

    next_week = CALCULATE(
    SUM(Sheet1[Value]),
    	FILTER(ALL(Sheet1), IF(WEEKNUM(Sheet1[Date], 21)=51,0,WEEKNUM(Sheet1[Date], 21)) = IF(WEEKNUM(MAX(Sheet1[Date]), 21)=51,0,WEEKNUM(MAX(Sheet1[Date]), 21)) + 1
        && Sheet1[Filter1] = MAX(Sheet1[Filter1])
        && Sheet1[Filter2] = MAX(Sheet1[Filter2])
    	))