Ну, тогда:
T1:
load *
...,
recno() as RecNo
if(Field<0,Field+iterno(),Field) as Field
resident ... while Field+iterno()<=If(index(text(Field),’-‘)>0, Field*(-1),Field);
left join load RecNo, max(Field) as MaxField resident T1 group by RecNo;
noconcatenate
T2: load * resident T1 where Field=MaxField; drop table T1;
drop field MaxField;