Hallo JMP-Community, ich hoffe, Sie können mir bei diesem Problem helfen:
Ich habe ein Skript erstellt, mit dem Benutzer 1x, 2x und/oder 3x SD-Werte für mehrere Probenkonzentrationen mit einem bestimmten (einzugebenden) Faktor berechnen können. Die 1x, 2x und/oder 3x SD-Werte können alle über 3 Kontrollkästchen ausgewählt werden. Dieser erste Teil funktioniert einwandfrei.
Basierend auf der ausgewählten Anzahl von Kontrollkästchen ergibt die resultierende Datentabelle eine variable Anzahl von Spalten, die ich in eine neue Datentabelle aufteilen möchte.
Ich habe versucht, ein zweites Skript zu erstellen, das die Datentabelle basierend auf allen vorhandenen SD-Spalten aufteilt (immer beginnend mit Spalte 3), aber ohne Erfolg. Das ist mein Skript bisher:
Namen sind standardmäßig hier(1);
dt1=Datentabelle("SD-Berechnung");
//Liste der Spaltennamen abrufen
ColList=dt1<
//Split dt1 basierend auf ColList
dt2=Datentabelle( "SD-Berechnung" ) << Split(
Aufteilen nach ( :nomRP ),
Aufteilen(Spalte[3]),
Verbleibende Spalten (Alle löschen),
Nach Spalteneigenschaft sortieren
);
Die resultierende geteilte Tabelle sieht so aus und es fehlen die meisten Daten:

So sollte es aussehen (ich kann dies nur erreichen, indem ich alle Spaltennamen angebe, jedoch werden nicht alle Spalten in jeder Tabelle vorhanden sein (basiert auf der Benutzerauswahl):

Wenn alle SD-Berechnungen ausgewählt sind (±1-3 SD für 5 Probenkonzentrationen), sollten 30 Säulen vorhanden sein.
Das Ziel für mein Skript:
nomRP-Werte sind: 50, 71, 100, 141 und 200 und 1-3x SD-Werte können für jeden dieser nomRP-Werte berechnet werden. Alle berechneten Ergebnisse sollten in eine neue Datentabelle aufgeteilt werden. Mit diesen Daten möchte ich im Graph Builder eine Figur erstellen, die Bereiche basierend auf den berechneten SD-Werten anzeigt.
Mit freundlichen Grüße,
Pim.
Hallo,
Ich denke, dies ist einer der Fälle, in denen Eval(Eval Exr(Expr())) helfen würde.Sehen Sie sich den folgenden Code an und sehen Sie, ob er das tut, was Sie hoffen.Ebenfalls hier ist ein Beitrag zu diesem Thema, das diese Arten von Methoden erklärt.
Names Default to Here(1);
dt1=Data Table("SD Calculation");
//Get list of Column names
ColList=dt1<<GET column="" names=""></GET>Hadley, das war genau das, wonach ich gesucht habe.
Vielen Dank und auch vielen Dank für das Teilen des Beitrags über Eval(Eval-Ausdr(Ausdr())). Dies wird sich bei meinen zukünftigen Skript-Abenteuern als nützlich erweisen!