Hi Yuanliu and all, Thank for Yuanliu's help. I modify from his code ; therefore I am able to solve the issue, "Only the "Test Response Time" field is used to compare, after choosing the max "Test Response Time", the Procedure-1/-2/-3 field come from that corresponding row instead of comparing Procedure-1/-2/-3 itself." , whichi I listed earlier by the code in green highlight. | stats max(*) as max* avg(*) as avg* list(*) as * | eval avg = "Avg", max = "Max" ``` avg, max initial value ``` | foreach Total* [eval max=max.":".'max<<FIELD>>'."(from Test-".tostring(mvfind(<<FIELD>>,'max<<FIELD>>')+1).")", max_index=tostring(mvfind(<<FIELD>>,'max<<FIELD>>'))] | foreach Procedure* [eval max=if(isnotnull(mvindex(<<FIELD>>,max_index)), max.":".mvindex(<<FIELD>>,max_index),max)] | foreach Total* Procedure*``` actual order depends on real name of Procedure_1, 2, 3, etc ``` [eval avg = avg . ":" . 'avg<<FIELD>>' . "=(" . mvjoin(<<FIELD>>, "+") . ")/3"] | eval maxavg = mvappend(max, avg) | fields + maxavg | mvexpand maxavg | eval maxavg = split(maxavg, ":") | eval header = mvappend("(in sec)", "Total Response Time", "Procedure-1", "Procedure-2", "Procedure-3") | foreach "(in sec)", "Total Response Time", "Procedure-1", "Procedure-2", "Procedure-3" [eval <<FIELD>> = mvindex(maxavg, mvfind(header, "<<FIELD>>")) ] | fields - header maxavg This really helps me a lot. Thank you
... View more