大家好,
kz = dthz << get rows where( Is Missing( :USL ) & Is Missing( :LSL ) );
dthz << delete rows( kz );
dthz << New Column( "FAIx", "character" );
dthz << begin data update;
dthz:FAIx << set formula( If( Col Number( :FAI#, :FAI# ) > 1, :FAI# || "_" || Char( Col Rank( :FAI#, :FAI# ) ), :FAI# ) );
dthz << end data update;<BR />
Wait( 1 );//have to add
dt2 = dt1 << Join(
With( dthz ),
Select( all ),
SelectWith( :FAIx ),
By Matching Columns( :FAI# = :FAI#,:USL = :USL, :LSL = :LSL ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "221" ),
invisible
);
wait(1);
以下代码,添加wait()前后即可正常运行;不然后面的join这个语句会挂空表报错,说这个是空的,什么原因啊,有时候正常,大部分时候是空表。
公式确实需要时间来完成评估,也许最终数据更新不会强制等待评估发生。 通常你想使用<< 运行公式如果您希望等待公式计算完成而不是 wait()。 在其他情况下(不是公式),大多数时候,使用等待(0)足够