Forum Discussion
Depso
2 years agoFrequent Visitor
Substract row to another row on the same column without creating new column
I have a quite interesting request.
I have a table like this one:
| Type | Year | Price | Value1 | Value2 | Value3 |
| Home | 2021 | 9 | 2 | 3 | 4 |
| Home | 2022 | 27 | 5 | 6 | 7 |
| Home | 2023 | 42 | 4 | 5 | 6 |
| Terrain | 2021 | 7 | 2 | 4 | 1 |
| Terrain | 2022 | 11 | 1 | 1 | 2 |
My Price Column is calculated and gets it's value based on columns Value1, Value2 and Value3. But I need to also add the value of itself based on the previous year.
Could anyone share with me how to find this solution?
I thought of using something like this as the calculation of Price:
var calculatedYear = 'Table'[Year]-1
var TypeVal = [Type]
var Value1get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value1])
var Value2get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value2])
var Value3get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value3])
Issue is here:
var PriceVal = MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Price])
var Result = Value1get + Value2get + Value3get + PriceVal
Return
Result
But of course, since the column does not exist yet, it cannot use the values from itself.
4 Replies
- Greg_DecklerCommunity Champion
Depso Maybe:
var calculatedYear = 'Table'[Year] var previousYear = calculatedYear - 1 var TypeVal = [Type] var Value1get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value1]) var Value2get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value2]) var Value3get= MAXX( FILTER( 'Table','Table'[Year] = calculatedYear && 'Table'[Type]=TypeVal) , [Value3]) var {YUValue1get= MAXX( FILTER( 'Table','Table'[Year] = previousYear && 'Table'[Type]=TypeVal) , [Value1]) var PYValue2get= MAXX( FILTER( 'Table','Table'[Year] = previousYear && 'Table'[Type]=TypeVal) , [Value2]) var PYValue3get= MAXX( FILTER( 'Table','Table'[Year] = previousYear && 'Table'[Type]=TypeVal) , [Value3]) var Result = Value1get + Value2get + Value3get + PYValue1get + PYValue2get + PYValue3get Return Result- DepsoFrequent Visitor
This does not work because it only takes into account the previous value and I need it to keep adding up to the original value each time
- DepsoFrequent Visitor
Unfortunatelly, no.
I need it to reference automatically the previous item in the same column like in the screenshot example below:
It should be based on the year.