こんにちは、
2 つのデータテーブルをソース列と結合した後、重複を選択 (および削除) しようとしています。選択には 2 つの基準があります。
- 重複した値したほうがいいマッチ2 列 (Match :col1, :col2) では正常に動作します。
- 重複した値したほうがいいいいえ生成されたソース列に同じ値があります。
2 番目の基準をどのようにコーディングすればよいかわかりません。単純な != 行があるか、または ':Source Table' と「一致しない」のでしょうか?
dt1 << concatenate (dt1, dt2, append to first table(1), Create Source Column ) ;
dt1 << Select Duplicate Rows (Match (:col1, :col2)) ;
dt1 << Delete Rows();
別のアプローチを取る必要があると思います。送信された JSL にはいくつかの問題があり、重複行の選択機能の誤解があります。
Concatenation ステートメントは、データ テーブル dt1 が出力テーブルに 2 回複製される新しいデータ テーブルを作成します。
重複行の選択機能は、同じ列内の重複のみを検索します。
2 つのデータ テーブル間のどの行に重複した値があるかを判断する機能を備えた結合プラットフォームの使用を検討することをお勧めします。
次に、2 つのデータ テーブルを比較し、Robert という名前の人物が両方のテーブルに存在することを確認する例を示します。

Names Default To Here( 1 );
dt1 = New Table( "one",
Add Rows( 20 ),
New Column( "name",
Character,
"Nominal",
Set Values(
{"KATIE", "LOUISE", "JANE", "JACLYN", "LILLIE", "TIM", "JAMES", "ROBERT", "BARBARA", "ALICE",
"SUSAN", "JOHN", "JOE", "MICHAEL", "DAVID", "JUDY", "ELIZABETH", "LESLIE", "CAROL", "PATTY"}
)
)
);
dt2 = New Table( "Two",
Add Rows( 20 ),
New Column( "name",
Character,
"Nominal",
Set Values(
{"FREDERICK", "ALFRED", "HENRY", "LEWIS", "EDWARD", "CHRIS", "JEFFREY", "MARY", "AMY", "ROBERT",
"WILLIAM", "CLAY", "MARK", "DANNY", "MARTHA", "MARION", "PHILLIP", "LINDA", "KIRK", "LAWRENCE"}
)
)
);
dt3 = dt1 << Join(
With( dt2 ),
Merge Same Name Columns,
By Matching Columns( :name = :name ),
Drop multiples( 1, 0 ),
Include Nonmatches( 1, 1 ),
Preserve main table order( 1 ),
Output Table( "together" )
);
dt3 << select where( :Match Flag == 3 );
//dt3 << Delete Rows();
//dt3 << delete columns(match flag);ありがとうジム、これはうまくいきます!
Join 機能についてさらに詳しく学習していただければ幸いです。
よろしくお願いします。
ステジン