Sie müssen alle n = 6 Spalten mit JMP-Skript kombinieren.Hallo zusammen, ich muss alle 6 Spalten der Datendatei kombinieren und daraus eine neue Spalte machen. Ich finde, ob alle Kombinationsspalten in einer neuen Datendatei gespeichert werden können, nur um den Code zu vereinfachen. Bitte beachten Sie die angehängten Beispieldaten und das Ausgabebild, das ich suche.
Wie kann ich auch jedes 'n'-Element / und das erste 'n'-Element aus einer Liste extrahieren?
Jede Hilfe bitte.
Vielen Dank.
SkriptingBetreff: Alle n = 6 Spalten müssen mit JMP-Skript kombiniert werden.Hallo Hari
Meine Lösung als Anhang. (basierend auf Ihren Beispieldaten)
Haben Sie einen guten Tag.
Betreff: Alle n = 6 Spalten müssen mit JMP-Skript kombiniert werden.Ausgehend von Ihrer Eingabe-JMP-Tabelle generiert das folgende Skript die neuen Spalten, wie Ihre JPG-Datei zeigt.Die JSL funktioniert, wenn die Eingabedaten Zeichenspalten oder numerische Spalten sind.

names default to here(1);
dt=current data table();
// Get all columns in data table
allCols = dt << get column names(character,string);
// Setup the names of the new columns to be created
varNames = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// Loop across the columns 6 at a time creating the new column
For(i=1,i<=nitems(allCols),i=i+6,
dtName = substr(varNames,(i+5)/6,1);
// Create the JSL command to generate the formula
theExpr = "new column(dtName, character,
formula(
theList = {};
insert into(theList,char(:\!"" || allCols[i] || "\!"n));
insert into(theList,char(:\!"" || allCols[i+1] || "\!"n));
insert into(theList,char(:\!"" || allCols[i+2] || "\!"n));
insert into(theList,char(:\!"" || allCols[i+3] || "\!"n));
insert into(theList,char(:\!"" || allCols[i+4] || "\!"n));
insert into(theList,char(:\!"" || allCols[i+5] || "\!"n));
Concat Items(theList,\!"-\!");
)
)";
// Run the created JSL
eval(parse(theExpr));
// Turn column values into static values
column(dt,dtName)<<DELETE formula=""></DELETE>
Betreff: Alle n = 6 Spalten müssen mit JMP-Skript kombiniert werden.Danke Nelson, es hat funktioniert.
Danke noch einmal.