Hallo, ich bin neu in jmp scripting. Beim Versuch, die Aufteilung der Spalte "Daten" (Input.jmp) in jeden Zellenwert in einzelne Zeichenfolgenblöcke unter Verwendung des Leerzeichens als Trennzeichen und jedes einzelne Zeichenfolgenfutter zu automatisieren, wird eine neue Zeile mit den Zeilen A, B, C, D, E erstellt (Output_intermediate.jmp). Für die endgültige Ausgabe (Output_Final.jmp) muss die Zeichenfolge "Data_Coulmn_split_by_space_delimiter" weiter in ihre einzelnen Komponenten aufgeteilt werden, wobei ":" als Trennzeichen und eine zusätzliche Spalte (: Data1) mit dem ersten Buchstaben des ersten Elements verwendet werden. Ich habe den Zwischendatensatz verwendet, um zu erklären, wie die ursprüngliche Zeichenfolge aufgeteilt und verarbeitet werden muss. Diese Reihenfolge muss nicht eingehalten werden, solange das Ergebnis Output_Final.jmp entspricht. Bitte helfen Sie mir freundlich. Danke im Voraus !
Anhängen von Output_Final.jmp
Hier ist ein Skript, das die von Ihnen angeforderte Datentabelle erstellt, mit einer Ausnahme.Ich weiß nicht, wie ich deine Spalte E konstruieren soll.

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 Sie haben einen Tippfehler im Namen der Datentabellenspalte namens Data_Column....... es ist falsch Data_Coulmn geschrieben