以下は、1 つの例外を除いて、求めているデータ テーブルを作成するスクリプトです。列 E の作成方法がわかりません。

Names Default To Here( 1 );
dt = Data Table( "Input" );
dtOut = New Table( "Final Output",
New Column( "A" ),
New Column( "B", character ),
New Column( "C" ),
New Column( "D" ),
New Column( "Data_1", character ),
New Column( "Data_2", character ),
New Column( "Data_3", character ),
New Column( "Data_4", character ),
New Column( "Data_5", character ),
New Column( "Data_6", character ),
);
For( i = 1, i <= N Rows( dt ), i++,
If( i == 1,
theRow = 0;
theRow = N Rows( dtOut );
);
If( dt:Data_Column[i] != "X",
dtOut << Add Rows( 3 );
For( k = 1, k <= 3, k++,
theRow++;
dtOut:A[theRow] = dt:A[i];
dtOut:B[theRow] = dt:B[i];
dtOut:C[theRow] = dt:C[i];
dtOut:D[theRow] = dt:D[i];
dtOut:Data_1[theRow] = Substr( Word( k, dt:Data_Column[i], " " ), 1, 1 );
dtOut:Data_2[theRow] = Substr( Word( 1, Word( k, dt:Data_Column[i], " " ), ":" ), 2 );
dtOut:Data_3[theRow] = Word( 2, Word( k, dt:Data_Column[i], " " ), ":" );
dtOut:Data_4[theRow] = Word( 3, Word( k, dt:Data_Column[i], " " ), ":" );
dtOut:Data_5[theRow] = Word( 4, Word( k, dt:Data_Column[i], " " ), ":" );
dtOut:Data_6[theRow] = Word( 5, Word( k, dt:Data_Column[i], " " ), ":" );
);
);
);
PS Data_Column と呼ばれるデータ テーブルの列名にタイプミスがあります........それは間違って綴られています Data_Coulmn
こんにちは、私は jmp スクリプトを初めて使用します。 区切り文字としてスペースを使用して、「データ」列 (Input.jmp) の各セル値を文字列の個々のチャンクに分割することを自動化しようとすると、文字列の個々のチャンクは行 A、B、C、D、E を含む新しい行を作成します。 (出力_中間.jmp)。 最終出力 (Output_Final.jmp) では、区切り文字として「:」を使用し、文字列「Data_Coulmn_split_by_space_delimiter」を個々のコンポーネントにさらに分割し、最初の要素の最初の文字を持つ追加の列 (:Data1) を追加する必要があります。 中間データ セットを使用して、元の文字列をどのように分割して処理する必要があるかを説明しました。結果が Output_Final.jmp と同等である限り、その順序に従う必要はありません。 よろしくお願いします。 前もって感謝します !