JSLを使って行を削除するには、Delete Rowsメッセージを送って、削除する行(複数可)を指定します。複数の行を削除するには、行番号(rownum)引数でリストまたは行列を指定するか、Delete RowsコマンドをForなどの他のコマンドと組み合わせて使います。行番号(rownum)引数として指定できるのは、番号、番号のリスト、番号の範囲、行列、またはこれらのどれかを導き出す式です。引数が指定されていない場合、Delete Rowsは選択されている行の数を戻し、これらの行を削除します。引数が指定されていないか、または行が選択されていない場合、Delete Rowsは選択されている行の数、つまり0を戻します。
dt << Delete Rows( 10 ); // 行10を削除する
dt << Delete Rows( {11, 12, 13} ); // 行11~13を削除する
myList = {11, 12, 13};
dt << Delete Rows( mylist ); // 行11~13を削除する
dt << Delete Rows( 1 :: 20 ); // 最初の20行を削除する
dt << Delete Rows( [1 2 3] ); // 最初の3行を削除する
たとえば次のスクリプトは、「Big Class.jmp」を開き、10行目を削除します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Selected( Row State( 10 ) ) = 1; // 行10を選択する
dt << Delete Rows; // 行10を削除する
同じ行を複数回リストしてもかまいません。リストする順序も自由です。
以下に、任意のサイズのデータテーブルから最後のx行を削除する一般的な方法を示します。次の例は、データテーブルの最後の5行を削除します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
x = 5;
n = N Row( dt );
For( i = n, i > n - x, i--,
dt << Delete Rows( i )
);
NRowは、テーブル内の行をカウントします。各行に対してスクリプトを反復するを参照してください。