Forum Discussion

madhurmalhotra's avatar
madhurmalhotra
Frequent Visitor
6 years ago
Solved

ROLL FORWARD TO NEXT YEAR

  • v-kelly-msft's avatar
    v-kelly-msft
    6 years ago

    Hi madhurmalhotra ,

     

    First create 2 calculated columns as below:

     

    Year = YEAR('Table'[Date])
    _diff = 
    var _minyear=MINX(FILTER(ALL('Table'),'Table'[Entity ]=EARLIER('Table'[Entity ])),'Table'[Year])
    Return
    'Table'[Year]-_minyear

     

    Then create a measure as below:

     

    Measure = 
    var _a= SUMX(FILTER(ALL('Table'),'Table'[Entity ]=MAX('Table'[Entity ])&&'Table'[Year]<=MAX('Table'[Year])),'Table'[Profit])
    var _minyear=MINX(FILTER(ALL('Table'),'Table'[Entity ]=MAX('Table'[Entity ])),'Table'[Year])
    Return
    IF(MAX('Table'[_diff])<=1,_a,IF(MAX('Table'[_diff])>=2,SWITCH(MAX('Table'[_diff]),2,_a+CALCULATE(MAX('Table'[Profit]),FILTER(ALL('Table'),'Table'[Entity ]=MAX('Table'[Entity ])&&'Table'[Year]=_minyear)),3,_a+CALCULATE(MAX('Table'[Profit]),FILTER(ALL('Table'),'Table'[Entity ]=MAX('Table'[Entity ])&&'Table'[Year]=_minyear))*3+CALCULATE(MAX('Table'[Profit]),FILTER(ALL('Table'),'Table'[Entity ]=MAX('Table'[Entity ])&&'Table'[Year]=_minyear+1))
    )))

     

    Finally you will see:

    For the related .pbix file,pls click here.

     

    Best Regards,
    Kelly
    Did I answer your question? Mark my post as a solution!