這是一個腳本,它將創建您要求的數據表,但有一個例外。我不知道如何構建您的 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),需要使用“:”作為分隔符和帶有第一個元素首字母的附加列 (:Data1) 將字符串“Data_Coulmn_split_by_space_delimiter”進一步拆分為各個組件。 我用中間數據集來解釋原始字符串需要如何分割和處理,不必遵循該順序,只要結果相當於Output_Final.jmp即可。 請幫助我。 提前致謝 !