Forum Discussion
Anonymous
7 years agoNot applicable
Recursive column in DAX
Hey,
How can I achieve the following in a column in a DAX, this sounds a bit like recursive.
I have a table like following in PowerBI, in which I wish to populate Column B in the following steps:
1. For first row it should have the value as column A
2. For rows after first row:
- Second row (column B) = 1824 - 0
- Third row (column B) = previous row calculated column B value (1824) - current row column A value (24)
- and so on
- if the column A is blank than populate with previous row calculated column B
Row | Column A | Column B |
1 | 1824 | 1824 |
2 | 0 | 1824 |
3 | 24 | 1800 |
4 | 48 | 1752 |
5 |
| 1752 |
6 |
| 1752 |
Any help associated with it is highly appreciated.
Hi Anonymous ,
To create two calculated column as below.
Column = VAR k = FILTER ( 'Table', 'Table'[Column A] <> BLANK () ) VAR minr = CALCULATE ( MIN ( 'Table'[Row] ), ALL ( 'Table' ), KEEPFILTERS ( k ) ) RETURN IF ( 'Table'[Row] = minr, 'Table'[Column A], 0 - 'Table'[Column A] )new column B = CALCULATE ( SUM ( 'Table'[Column] ), FILTER ( 'Table', 'Table'[Row] <= EARLIER ( 'Table'[Row] ) ) )
1 Reply
- v-frfei-msftCommunity Support
Hi Anonymous ,
To create two calculated column as below.
Column = VAR k = FILTER ( 'Table', 'Table'[Column A] <> BLANK () ) VAR minr = CALCULATE ( MIN ( 'Table'[Row] ), ALL ( 'Table' ), KEEPFILTERS ( k ) ) RETURN IF ( 'Table'[Row] = minr, 'Table'[Column A], 0 - 'Table'[Column A] )new column B = CALCULATE ( SUM ( 'Table'[Column] ), FILTER ( 'Table', 'Table'[Row] <= EARLIER ( 'Table'[Row] ) ) )