Forum Discussion
Subtract values from same column based on multiple filters
- 5 years ago
Hi, DreamToGet
Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.
Table:
In Power Query, you may create a new query with the following m codes in 'Advanced Editor'.
let Source = Table.Group(Table, {"DeviceSerialNo", "TestStep"}, {{"Data", each let x=try Number.From([Output]{0}) otherwise null, y=try Number.From([Output]{1}) otherwise null in x-y , type number}}) in SourceResult:
If you want to use DAX, you need to create an index column in Power Query.
You may create a measure as below.
Result Measure = SUMX( SUMMARIZE( 'Table', [DeviceSerialNo], [TestStep], "Result", var minindex = MIN('Table'[Index]) var maxindex = MAX('Table'[Index]) var val1 = IFERROR( VALUE( MAXX( FILTER( 'Table', [Index]=minindex ), [Output] ) ), BLANK() ) var val2 = IFERROR( VALUE( MAXX( FILTER( 'Table', [Index]=maxindex ), [Output] ) ), BLANK() ) return val1-val2 ), [Result] )Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- 5 years ago
Hi, DreamToGet
In Power Query, you may add a new step with the following m codes. The pbix file is attached in the end.
= Table.Group(#"Changed Type", {"DeviceSerialNo", "TestStep"}, {{"Data", each let x= Table.Max( Table.SelectRows(_,each [TestProcess]="Process-Pre"),"StartDate")[Output], y= Table.Max( Table.SelectRows(_,each [TestProcess]="Process-Post"),"StartDate")[Output], m= try Number.From(x) otherwise null, n= try Number.From(y) otherwise null in m-n }})Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi v-alq-msft ,
This is exactly what I was looking for. Thank you very much for this.
However I have another issue now. There are cases where same 'TestProcess' has been repeated multiple times and I would like to use the latest results (based on StartDate column) to calculate difference but I am unable to do so. Could you please assist on this?
I have attached my latest pbix file along with updated DAX for your reference.
Subtract values from same column based on multiple filters.pbix
Thanks!
Hi, DreamToGet
In Power Query, you may add a new step with the following m codes. The pbix file is attached in the end.
= Table.Group(#"Changed Type", {"DeviceSerialNo", "TestStep"}, {{"Data", each
let
x= Table.Max( Table.SelectRows(_,each [TestProcess]="Process-Pre"),"StartDate")[Output],
y= Table.Max( Table.SelectRows(_,each [TestProcess]="Process-Post"),"StartDate")[Output],
m= try Number.From(x) otherwise null,
n= try Number.From(y) otherwise null
in m-n
}})
Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.