Forum Discussion
Return a value from another column based on conditions set by other columns
I need help with the followiing scenario:
In below example I would like to create column "Near Low Temp Timing" in the Data Table (Table View). This column returns the initial Test Time for every start of Eval ID until it sees "HT Start" condition in "High Temp Start". It will then update and return Test Time when indicated with "HT Start" in "High Temp Start".
Any suggestion how the measure can be written to meet this criteria?
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
I tried to create a sample pbix file like below.
It is for creating Calculated Column, not Calculated Measure.
WINDOW function (DAX) - DAX | Microsoft Learn
Near Low Temp Timing CC = VAR _condition = ADDCOLUMNS ( Data, "@condition", IF ( Data[High Temp Start] = "HT Start", 1, 0 ) ) VAR _group = ADDCOLUMNS ( _condition, "@group", SUMX ( WINDOW ( 1, ABS, 0, REL, _condition, ORDERBY ( Data[Test Time], ASC, Data[Index], ASC ), , PARTITIONBY ( Data[Eval ID] ), MATCHBY ( Data[Index], Data[Eval ID], Data[Test Time] ) ), [@condition] ) ) VAR _result = ADDCOLUMNS ( _group, "@result", MINX ( FILTER ( _group, Data[Eval ID] = EARLIER ( Data[Eval ID] ) && [@group] = EARLIER ( [@group] ) ), Data[Test Time] ) ) RETURN MINX ( FILTER ( _result, Data[Eval ID] = EARLIER ( Data[Eval ID] ) && Data[Test Time] = EARLIER ( Data[Test Time] ) && Data[High Temp Start] = EARLIER ( Data[High Temp Start] ) ), [@result] )
2 Replies
- Jihwan_Kim
Super User
Hi,
I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.
I tried to create a sample pbix file like below.
It is for creating Calculated Column, not Calculated Measure.
WINDOW function (DAX) - DAX | Microsoft Learn
Near Low Temp Timing CC = VAR _condition = ADDCOLUMNS ( Data, "@condition", IF ( Data[High Temp Start] = "HT Start", 1, 0 ) ) VAR _group = ADDCOLUMNS ( _condition, "@group", SUMX ( WINDOW ( 1, ABS, 0, REL, _condition, ORDERBY ( Data[Test Time], ASC, Data[Index], ASC ), , PARTITIONBY ( Data[Eval ID] ), MATCHBY ( Data[Index], Data[Eval ID], Data[Test Time] ) ), [@condition] ) ) VAR _result = ADDCOLUMNS ( _group, "@result", MINX ( FILTER ( _group, Data[Eval ID] = EARLIER ( Data[Eval ID] ) && [@group] = EARLIER ( [@group] ) ), Data[Test Time] ) ) RETURN MINX ( FILTER ( _result, Data[Eval ID] = EARLIER ( Data[Eval ID] ) && Data[Test Time] = EARLIER ( Data[Test Time] ) && Data[High Temp Start] = EARLIER ( Data[High Temp Start] ) ), [@result] ) - WKN
Helper I
Thank you for the solution. I have used the suggested calculated column to the larger dataset of this sample and it works!