你好,
我想使用脚本将 2 个数据表连接到 1 个合并数据表中。
我已经手动将 2 个数据表合并为 1 个联合数据表,因此我将相同的脚本从联合数据表复制到我的主脚本中。
不知何故,当我运行主脚本时,从 dt2 中选择的所有列都不包含在联合数据表中。
为什么它不工作?
Data Table( "AVIYield (Datasheet)" ) << Join(
With( Data Table( "Process_History_LotNoListingBeforeAVI" ) ),
Update,
Select(
:Machine Type, :Machine No, :Lot No, :Device, :Recipe, :Start Lot Time, :End Lot Time,
:Total Inspected Unit, :Total Dummy Unit, :Total Reject Unit,
:Overall Yield Include dummy, :Yield Exclude dummy, :FBMissing Bond, :FBAccuracy,
:FBBroken Wire, :FBBall Size, :SBMissing Bond, :SBPlacement, :SBBroken Wire,
:SBWedge Size, :WTDeviation, :WTBroken Wire, :Die Shift, :Die Surface, :Die Rotate,
:Die Epoxy Insuff, :Die Expoxy Excess, :Die Substrate, :SBBall Missing Bond,
:SBBall Broken Wire, :SBBall Accuracy, :Name( "NU-No Unit" ), :Name( "DU-Destroy Unit" ),
:Name( "ID-Incomplete Die" ), :Name( "DED-Die Edge Defect" ),
:Name( "DP-Die Placement" ), :Name( "EG-Excessive Glue" ),
:Name( "IG-Insufficient Glue" ), :Name( "DO-Die Orientation" ),
:Name( "NWB-No Wire Bond" ), :Name( "MW-Multiple Wire" ), :Name( "BP-Ball Placement" ),
:Name( "DW-Distorted Wire" ), :Name( "IW-Incomplete Wire" ),
:Name( "FM-Foreign Material" ), :Name( "MP-Missing Phosphor" ), :PackageFamily
),
SelectWith( :Process Oper, :Process Mach No, :In Time, :Out Time ),
By Matching Columns( :Lot No = :Lot No ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "JoinT" )
);

你好! 如果您查看 Join 函数的文档(这里) 它指出“当你使用使用第二个表中的数据更新主表,选择连接表的列不适用。” 所以它只会更新你在主表中的现有列。 尝试不选择该更新命令或使用单独的表 > 更新工具来尝试实现您的目标。
非常感谢。 在我没有选择该更新命令但从第二个表继续之后,它可以工作。