JSL-Skript zum Ändern des Spaltennamens in der Formel durch eine echte Formel aus der entsprechenden SpalteHallo allerseits
Ich versuche, den Prozess zu automatisieren, bei dem ich den Spaltennamen in einer Formel ändern möchte (z. B. „Lower 90% Indiv TiterHPLCProtA@D14“ mit der „echten“ Formel dieser Spalte (zweites Bild).
Ich möchte diesen Vorgang für alle Spaltennamen im ersten Bild wiederholen.
Das Skript würde so etwas brauchen:
- Suchen Sie alle Spaltennamen in der ersten Formel
- Beginnen Sie mit dem ersten Spaltennamen
- Suchen Sie die entsprechende Spalte in der Datentabelle und kopieren Sie die Formel
- Ersetzen Sie den Spaltennamen in der ersten Formel durch die Spaltenformel
- Wiederholen Sie diesen Vorgang, bis alle Spaltennamen in der ersten Formel durch ihre „echte“ Formel ersetzt wurden
Formel für die erste Spalte

Ein Beispiel für die Formel, die ich in die Formel der ersten Spalte einfügen möchte, indem ich „[...]TiterHPLCProtA[...]“ ersetze.

Alles Gute!
/Marco
Verbraucher- und MarktforschungQualitäts- und VerfahrenstechnikBetreff: JSL-Skript zum Ändern des Spaltennamens in der Formel durch eine echte Formel aus der entsprechenden SpalteVielen Dank euch beiden! Das war genau das, was ich gesucht habe!
Betreff: JSL-Skript zum Ändern des Spaltennamens in der Formel durch eine echte Formel aus der entsprechenden SpalteAls @pauldeen Ich habe darauf hingewiesen, dass Sie dies mithilfe der Erweiterungszwischenformeln profilieren können. Sie können jedoch noch einen Schritt weiter gehen und die Option „Erweiterte Formeln speichern“ in diesem Profiler verwenden, um alle diese Referenzen in einer neuen Spaltenformel aufzulösen.

Zum Beispiel:
Names Default To Here( 1 );
dt = Open( "$Sample_data/iris.jmp" );
dt << New Column("Log[Petal width]", Numeric, "Continuous", Format("Best", 12), Formula(Log(:Petal width)));
dt << New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Formula(:Sepal length + :Sepal width + :"Log[Petal width]"n));
prof = Profiler(
Y( :Column 1 ),
Profiler(
1,
Term Value(
Sepal length( 6, Lock( 0 ), Show( 1 ) ),
Sepal width( 3.125, Lock( 0 ), Show( 1 ) ),
Petal width( 1.269, Lock( 0 ), Show( 1 ) )
)
),
Expand
);
col = prof << Save Expanded Formulas;
Wenn Sie dies per Skript tun möchten, haben Sie mehrere Möglichkeiten.Ich würde mit einer for-Schleife beginnen, die nach einem Spaltenverweis sucht, prüfen, ob diese Spalte eine Formel hat, und sie dann mit dem Befehl replacement einfügen.Probieren Sie es aus und posten Sie es hier, wenn Sie nicht weiterkommen.
Betreff: JSL-Skript zum Ändern des Spaltennamens in der Formel durch eine echte Formel aus der entsprechenden SpalteSie können dies mit einigen fortgeschrittenen Skripttechniken tun:
Sie müssen dem Spaltennamen bis zur Spalte folgen.
Formula_expression = Column << get formula
Anschließend können Sie die Spaltenverweise durch den Formelausdruck ersetzen.
Schauen Sie sich also expr() an, benennen Sie expr() und ersetzen Sie es durch().
Wenn der einzige Grund, warum Sie dies tun, die Verwendung im Profiler ist, können Sie einfach das Kontrollkästchen hier aktivieren:
