Referenz für neue Spalte, die von FitMode-SaveColumn generiert wirdHallo,
Ich versuche, den Namen der Restspalte zu ermitteln, die vom Fit-Modell in JSL generiert wurde. Auf diese Weise kann ich das Residuum in der folgenden Zeile um 1000 skalieren. Hier ist mein Skript.
Model = Fit Model(
Y( :Raw Leveling ),
Effects(
:Xa,
:Ya,
Transform Column( "Xa^2", Formula( :Xa * :Xa ) ),
Transform Column( "Ya^2", Formula( :Ya * :Ya ) ),
Transform Column( "Xa*Ya", Formula( :Xa * :Ya ) )
),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run
);
Model << Residuals;
New Column("Residual (nm)", formula(Column(10)[]*1000)); Jetzt muss ich Spalte # verwenden, um die Skalierung durchzuführen. Wenn ich den Spaltennamen der Restspalte (generiert mit Model << Residuals) erhalten kann, kann das Skript auf eine andere Tabelle angewendet werden und ich muss die Spaltennummer nicht manuell ändern.
Dies hängt auch mit einer allgemeineren Frage zusammen. Wie kann ich einen Verweis auf die von JMP automatisch generierte Spalte erhalten?
Betreff: Referenz für neue Spalte, die von FitMode-SaveColumn generiert wurdeFunktionen können dazu führen, dass sich solche Dinge einfacher anfühlen, wenn Sie dies mehrmals in einem Skript tun. Erweiterung am @julianisch Antwort:
//Saves residuals column and returns reference to column
SaveResiduals = function({mdl},
mdl << Residuals;
dt = mdl << get data table;
column( nCols( dt ) );
);
rescol = SaveResiduals(Model);
rescol << Set Name("Residuals");Betreff: Referenz für neue Spalte, die von FitMode-SaveColumn generiert wurdeHallo Julian
Vielen Dank für Ihre Idee.
Ja, eine Alternative wäre, nur die Gesamtzahl der Spalten zu verwenden, um auf die letzte Spalte zu verweisen.
Eine andere Idee, die ich habe, ist: Kann ich einen Spaltennamen zuweisen, wenn er von der Funktion Fit-Modell generiert wird? Das Skript könnte auch einfach angepasst werden.
Vielen Dank!
-Zihao
Betreff: Referenz für neue Spalte, die von FitMode-SaveColumn generiert wurdeHallo @Zihao .
Ich kenne keine Möglichkeit, eine Spaltenreferenz aus der Restnachricht selbst zu ziehen, aber da die gespeicherte Spalte immer die letzte in der Tabelle ist, habe ich in einer solchen Situation eine variable Referenz auf die letzte gemacht Spalte basierend auf der Anzahl der Spalten in der Tabelle. So etwas wie das folgende:
dt = current data table();
lastColumn = column(nCols(dt));
Vielleicht funktioniert das in Ihrer Situation, sodass Sie keine Spaltennummer fest codieren müssen? In Ihrem Fall wäre eine einfache Möglichkeit, die neue Spalte auf der Grundlage der obigen Informationen zu erstellen:
New Column("Residual (nm)", SetEachValue(lastColumn[]*1000));
Ich hoffe das hilft,
@julianisch