Stack()は、複数の列の値を1つの列に積み重ねます。
dt << Stack(
Columns ( columns ), // ひとつに積み重ねる列
Source Label Column ( "name" ), // ソース列の識別
Stacked Data Column ( "name" ), // 新しく積み重ねた列の名前
Keep ( columns ), // データテーブルに保持する列
Drop ( columns ), // データテーブルから除去する列
Output Table ( "name" ), // 新しいデータテーブルの名前
Columns( columns ) ); // 積み重ねたテーブルに含める列を指定
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
StackedDt = dt << Stack(
Columns( :Name("体重(ポンド)"), :Name("身長(インチ)") ),
Source Label Column( "ID" ),
Stacked Data Column( "Y" ),
Name( "積み重ねない列" )( Keep( :年齢, :性別 ) ),
Output Table( "列を積み重ねたテーブル" )
);
Columns(columns)引数には、列のリスト、またはリストを導き出す式を指定できます。
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
dt << Stack(
Columns(
:BP 8M,
:BP 12M,
:BP 6M,
:BP 8W,
:BP 12W,
:BP 6W,
:BP 8F,
:BP 12F,
:BP 6F
),
Stacked Data Column( "BP" ),
Source Label Column( "Day" ),
Number of Series( 3 ), // 積み重ねる系列の数
Contiguous,
// 系列は隣接する列からなる そうでない場合は、この引数を指定しない
);