Erstellen neuer Spalten mit einer for-Schleife mit Spaltennamen und FormelIch versuche, eine geteilte Tabelle aus einer vorhandenen Tabelle zu erstellen und den geteilten Tabellen neue Spalten hinzuzufügen, jede mit einer Formel, die auf den geteilten Spalten basiert. Allerdings erstellt der Code die neuen Spalten, gibt mir aber „Fehler bei der Formelauswertung“ aus.
dt2 = Current Data Table();
// Create the split data table
dt2 = dt << Split(
Split By( :S ),
Split(
:Name( "Median(data)" )
),
Group( :L, :m, :C, :P, :z, :x ),
Remaining Columns( Drop All ),
Sort by Column Property
);
colname = {"B","C"};
colby = {"A","B"};
// Add new columns to the split data table
For( i = 1, i <= N Items( colname ), i++,
dt2 << New Column( colname[i]||"/"||colby[i],
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( column(colname[i]) / column(colby[i]) )
););Automatisierung und SkripterstellungBetreff: Erstellen neuer Spalten mit einer for-Schleife mit Spaltennamen und FormelDie JMP-Formeldefinition wird nicht ausgewertet, wenn sie definiert wird, sondern nur, wenn sie ausgeführt wird.Daher muss die Formel JMP in vollständig definierter Form vorgelegt werden.
Column( colname[i] ) / Column( colby[i] )
muss JMP vorgelegt werden als
Column( "B" ) / Column( "A" )
Die Verwendung der Substitute-Funktion ermöglicht die Erweiterung des Codes nach Bedarf
// Add new columns to the split data table
For( i = 1, i <= N Items( colname ), i++,
Eval(
Substitute(
Expr(
dt2 << New Column( colname[i] || "/" || colby[i],
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Column( __colname__ ) / Column( __colby__ ) )
)
),
Expr( __colname__ ), colname[i],
Expr( __colby__ ), colby[i]
)
)
);Betreff: Erstellen neuer Spalten mit einer for-Schleife mit Spaltennamen und FormelIch erhalte immer noch die gleiche Fehlermeldung wie unten
Column B/A Formula Interrupted
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, Column( "B" ) / /*###*/Column( "A" ) /*###*/
Formula evaluation errors have been ignored
Column C/B Formula Interrupted
Cannot convert argument to a number [or matrix] 1 times At rows: 2 Operation: Divide, Column( "C" ) / /*###*/Column( "B" ) /*###*/
Formula evaluation errors have been ignored
Betreff: Erstellen neuer Spalten mit einer for-Schleife mit Spaltennamen und FormelVersuchen Sie, die Funktion Column() in die Funktion As Column() zu ändern
Betreff: Erstellen neuer Spalten mit einer for-Schleife mit Spaltennamen und FormelDas hat funktioniert, danke!