Subset()は、指定された行から新しいデータテーブルを作成します。行を指定しない場合、Subsetは選択されている行を使います。行が選択も指定もされていない場合は、すべての行を使います。列が選択も指定もされていない場合は、すべての列を使います。Subsetに引数を指定しなかった場合、「サブセット」ウィンドウが表示されます。
dt << Subset(
Columns( columns ),
Rows( row matrix ),
Linked,
Output Table Name( "name" ),
Copy Formula( 1 or 0 ),
Sampling rate( n ),
Suppress Formula Evaluation( 1 or 0 ) );
たとえば、Big Class.jmpのうち、年齢が「12」であるすべての行を選択するには:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For Each Row( Selected( Row State() ) = (:年齢 == 12) );
subdt = dt << Subset( Output Table Name( "サブセット" ) );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
subDt1 = dt << Subset(
Columns( :名前, :年齢, :Name("身長(インチ)") ),
Output Table Name( "Big Class 2" )
);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
subDt2 = dt << Subset(
Columns( :名前, :Name("体重(ポンド)") ),
Rows( [2, 4, 6, 8] ),
Linked
);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Where( :年齢 == 12 );
dt << Subset( ( Selected Rows ), Output Table Name( "サブセット" ) );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Select Where( :年齢 == 12 );
If( N Rows( dt << Get Selected Rows ) == 0,
/* 条件によって選択された行がない場合は、「Fitness.jmp」を開く。
それ以外の場合は、「Big Class.jmp」のサブセットテーブルを生成する。*/
newdt = Open( "$SAMPLE_DATA/Fitness.jmp" ),
newdt = dt << Subset( All Columns( 1 ), Selected Rows( 1 ) )
);