Split()は、積み重ねられた列を複数の列に分割します。
dt << Split(
Split( columns ),
// 分割する列(必須)
Split by( column ),
// 分割の基準となる列(必須)
Group(column),
// グループごとにデータを分割する
<Private>|<Invisible>,
// 結果のテーブルをプライベートまたは非表示にする
Remaining Columns( Keep All | Drop All | Select( columns ) ),
/* 残りの列を結果のテーブル内に含めるか指定する(デフォルトはKeep All) */
<Copy formula( 0|1 )>,
/* ソーステーブルの列の計算式を結果のテーブルに含める(デフォルトは1、真) */
<Suppress formula evaluation( 0|1 )>,
// コピーされた列の計算式を自動評価しない(デフォルトは1、真)
Sort by Column Property( "Value Ordering" {"string", "string"} | "Row Order Levels" ),
/* 結果のテーブルの行を、
(Split by(columns)で指定した列のプロパティを基準にして並べ替える */
Output Table( "name" ));
// 出力テーブルの名前を指定する
次の例は、前のStack()の例の逆で、元のテーブルと同じ内容を戻します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Stack(
Columns( :Name("体重(ポンド)"), :Name("身長(インチ)") ),
Source Label Column( "ID" ),
Stacked Data Column( "Y" ),
Name( "積み重ねない列" )( Keep( :年齢, :性別 ) ),
Output Table( "列を積み重ねたテーブル" )
);
dt2 = Data Table( "列を積み重ねたテーブル" );
dt2 << Split(
Split( Y ),
Split by( ID ),
Output Table( "列を分割したテーブル" ) );