やあ、
スクリプトを使用して、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" )
);

こんにちは! 結合関数のドキュメントを見ると(ここ)それは「使用する場合メインテーブルを2番目のテーブルのデータで更新します、結合されたテーブルの列を選択します該当しません。」 したがって、メインテーブルにある既存の列を更新するように見えます。 その更新コマンドを選択しないか、別の[テーブル]> [更新]ツールを使用して、目標を達成してみてください。
どうもありがとう。 その更新コマンドを選択せずに2番目のテーブルから続行すると、機能します。