(インデックスに基づいて) 新しい行が含まれることがあるテーブルを更新しようとしています。
以下は機能していないようなので、結合を使用する必要があるようです (ここでは、インデックスは名前列です)。
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = New Table( "Little Class",
Add Rows( 3 ),
New Column( "name",
Character,
Nominal,
Set Values( {"ALICE", "NEW_NAME", "OTHER_NEW_NAME"} )
),
New Column( "height",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "weight",
Continuous,
Set Values( [999, 999, 999] )
),
New Column( "RANK",
Continuous,
Set Values( [3, 1, 2] )
),
New Column( "CODE",
Continuous,
Set Values( [0, 1, 1] )
)
);
dt1 << Update(
With( Data Table( "Little Class" ) ),
Match Columns( :name = :name ),
Add columns from Update table( {:RANK} )
);
あなたの述べた仮定は正しいです.あなたはあなたが望むことをするために参加プラットフォームを使用する必要があります.
ここのコミュニティから同様の投稿が見つかり、新しい行が追加されたときに更新の代わりに結合を使用することが提案されました。
JMP データ テーブルの更新
更新の代わりに結合を使用できなかった理由はありますか (余分なテーブルを処理する必要があることを除いて)
JMP ヘルプから:データ テーブルの更新:
2 つのデータ テーブルがあり、元のテーブルを新しいテーブルのデータで更新する場合は、テーブル > 更新. Update コマンドは、Join in place の特殊なケースです。 更新オプションがチェックされた状態での参加です、およびそれは新しいテーブルにはなりません。
「余分なテーブルを処理する必要があることを除いて」
丁度。 更新オプションを選択して結合を実行しているにもかかわらず、新しいテーブルが生成されます。
dt<< Join(
With( dt_new ),
Update, // this option is selected
By Matching Columns( :index= :index),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 )<BR />);<BR /><BR />// Opens new table apart of dt and dt_new