Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
snaraya
Helper II
Helper II

find next value using previous value

Hi All,

 

i have below table, my output should be a column which uses

Target previous row-(Target previous row*0.3863636363)

 

eg: 2019= 2019

2020= Target2019-(Target 2019*0.3863636363)

2021= Traget 2020-(Target 2020*0.3863636363)

 

 

i tried using below DAX formula but the value is only correct for 2020, as its using last nonblank value of year 2019 for finding growth_Target all the years which is not correct 

 

 

growth_Target =
IF(ISBLANK('Table'[Target]),
    VAR _curRank = 'Table'[Index]
    VAR _lastNonBlankRank = MAXX(FILTER('Table', 'Table'[Index]< _curRank && NOT ISBLANK('Table'[Target]) ), 'Table'[Index])
    VAR _lastNonBlankValue = LOOKUPVALUE('Table'[Target], 'Table'[Index], _lastNonBlankRank)
   RETURN
_lastNonBlankValue-( _lastNonBlankValue * POWER(0.3863636363, _curRank - _lastNonBlankRank)), 
    'Table'[Target])

 

 

 

IndexYearbuTargetgrowth_Target
02019a19.79119.79096042
12020a 12.14445299
22021a 16.836628
32022a 18.6495138
42023a 19.34994695
52024a 19.62056885
62025a 19.72512731
72026a 19.7655249
82027a 19.78113306
92028a 19.78716348
102029a 19.78949342
112030a 19.79039362
122019b3.1773.176699292
132020b 1.949338202
142021b 2.702491598
152022b 2.993482683
162023b 3.105911056
172024b 3.149349292
182025b 3.166132246
192026b 3.17261657
202027b 3.175121876
212028b 3.176089836
222029b 3.17646382
232030b 3.176608314

 

 

can someone help what exactly is wrong 

 

 

1 ACCEPTED SOLUTION
wdx223_Daniel
Super User
Super User

growth_Target =
IF(ISBLANK(TestData[Target]),
    VAR _curRank = TestData[Index]
    VAR _lastNonBlankRank = MAXX(FILTER(TestData, TestData[Index]< _curRank && NOT ISBLANK(TestData[Target]) ), TestData[Index])
    VAR _lastNonBlankValue = LOOKUPVALUE(TestData[Target], TestData[Index], _lastNonBlankRank)
   RETURN
_lastNonBlankValue * POWER(1-0.3863636363,_curRank - _lastNonBlankRank),
    TestData[Target])

View solution in original post

2 REPLIES 2
wdx223_Daniel
Super User
Super User

growth_Target =
IF(ISBLANK(TestData[Target]),
    VAR _curRank = TestData[Index]
    VAR _lastNonBlankRank = MAXX(FILTER(TestData, TestData[Index]< _curRank && NOT ISBLANK(TestData[Target]) ), TestData[Index])
    VAR _lastNonBlankValue = LOOKUPVALUE(TestData[Target], TestData[Index], _lastNonBlankRank)
   RETURN
_lastNonBlankValue * POWER(1-0.3863636363,_curRank - _lastNonBlankRank),
    TestData[Target])

Thankyou so much 🙂

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors