Hallo,
Ich versuche, eine Formel hinzuzufügen, um Werte in einer ausgewählten Spalte durch Skripterstellung zu konvertieren, ohne neue Spalten in der Datentabelle hinzufügen zu müssen. Gibt es eine Möglichkeit, Formeln für eine Spalte durch Skripterstellung zu bearbeiten? Zum Beispiel versuche ich, die Höhenspalte in dieser Datentabelle so einzustellen, dass sie halbiert wird, wenn ich das Skript ausführe:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << Get Column Names;
height = height/2;
Ihre angegebene Formel ist rekursiv, wenn sie als Spaltenformel verwendet wird.Eine Spaltenformel wird immer dann ausgeführt, wenn sie eine Änderung in der Spalte erkennt.
Was Sie vorschlagen, kann einfach in offener JSL ausgeführt werden.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << Get Column Names;
height = height/2;
oder
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
For( i = 1, i <= N Rows( current data table() ), i++,
:height[i] = :height[i] / 2
);
oder
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:Height << set values( dt[0, 4] / 2 );
Wenn die Formel nicht rekursiv ist, kann man die Spaltenformel mit der Nachricht „Formel festlegen“ festlegen
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Current Data Table() << Get Column Names;
:height << set formula(:weight/2);
Ich empfehle dringend, dass Sie sich die Zeit nehmen, den Skriptleitfaden zu lesen, der in der JMP-Dokumentationsbibliothek im Pulldown-Menü „Hilfe“ verfügbar ist
Eine Datenspaltenformel ist nur ein JSL-Ausdruck, der zeilenweise ausgewertet wird. Sie können die Datenspaltenmeldungen << Get Formula() und << Set Formula() verwenden. Verwenden Sie Ausdrucksfunktionen, um nach Bedarf auf die Ausdrücke zuzugreifen und sie zu ändern.