<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />私はいくつかの列で同じセルを持つが他の列ではない行を削除する方法を見つけようとしていました。
たとえば、PartNo、SerialNum、Siteの各列の値が同じで、CustomerとValueが一致していない行を見つけたいとします。それから私はこれらの行の1つを削除したいです。に
この場合、行1、3と4が残ります。下記を参照してください。
ありがとう
| 品番 | シリアル番号 | サイト | 顧客 | 値 |
|---|
| 1 | 2 | 3 | ある | 1.5 |
| 1 | 2 | 3 | b | 2 |
| 3 | 4 | 5 | c | 3 |
| 2 | 3 | 4 | 日 | 5 |
| 2 | 3 | 4 | e | 6 |
スクリプトを使って実行したい場合は、次のコードは重複する行の最初のインスタンスのみを保持する例を示しています。サマリー表が詳細表にリンクされているという事実を利用します。
//データ例
dt1 = 開いた ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
//どの列が重複を定義するために使用されますか?
keyCols = { "年齢" 、 「セックス」 } ;
//見えないリンクサマリテーブルを作成する、dt2
dt2 = dt1 << 概要 ( グループ ( 評価 ( keyCols )) 、見えない ) ;
// dt2の行をループする...
rows2キープ = [] ;
にとって ( r = 1 、 r <= NRows ( dt2 ) 、 r ++、
// ...順番に各行を選択
dt2 << SelectRows ({ r ) ;
// dt1の対応する行を探す
duplicateRows = dt1 << GetSelectedRows ;
//最初のものだけを残す
rows2キープ = VConcat ( rows2キープ 、 duplicateRows [ 1 ]) ;
//現在の選択を削除します
dt2 << ClearSelect ;
) ;
閉じる ( dt2 、 NoSave ) ;
//重複しているdt1の行を削除します
rows2Delete = ( 1 :: 今 ( dt1 )) `;
rows2Delete [ rows2キープ ] = [] ;
dt1 << DeleteRows ( rows2Delete ) ;
こんにちは、
[結合]を使用して、テーブルをそれ自体に結合し、[部品番号]、[シリアル番号]、[サイト]の列で照合し、倍数を削除できます。 この場合、[結合]ダイアログは次のようになります。
それが役立つことを願っています!