Speichern des Skripts in der DatentabelleHallo zusammen,
Ich habe ein Skript (einige hundert Zeilen) geschrieben, das 1) eine vorhandene Datentabelle öffnet, 2) eine ganze Reihe von Berechnungen durchführt und dann 3) eine neue Datentabelle mit Ergebnissen aus diesen Berechnungen ausspuckt. Da ich das Skript ständig verbessere, möchte ich sicherstellen, dass ich weiß, welche genaue Version des Skripts zum Erstellen der neuen Ausgabedatentabelle verwendet wurde, und daher daran gedacht habe, das gesamte Skript in der Datentabelle zu speichern. Ich habe versucht, NewDt << Skript in Datentabelle speichern zu verwenden, aber dies speichert nur die Zeile, die das NewDt erstellt hat, als Skript, nicht das vollständige Skript. Im Idealfall möchte ich nicht nur das Skript, sondern auch die ursprüngliche Datentabelle speichern, aus der das NewDt erstellt wurde. Irgendwelche Vorschläge?
Grüße und danke, Yves
DatentabelleSkriptingBetreff: Speichern des Skripts in der DatentabelleHier ist ein einfaches Skript, das Ihnen einen Weg zeigt, dies zu tun
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = dt << bivariate( x( :height ), y( :weight ) );
theScript = Char( biv << get script );
Eval( Parse( "\[dt<<NEW script=""></NEW>
Betreff: Speichern des Skripts in der DatentabelleDanke Jim, aber ich glaube nicht, dass es mein Problem löst. Mein Problem ist eher wie folgt:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
m = dt << Get All Columns As Matrix();
Several lines of matrix algebra with the columns of m producing various vectors y1, y2, y3
dt2=as table(y1, y2, y3);
Ich möchte, dass das gesamte Skript oben in dt2 gespeichert wird. Nochmals vielen Dank, Yves
Betreff: Speichern des Skripts in der DatentabelleDie Frage ist also, woher die Skriptelemente stammen, die Sie zusammenstellen müssen, um die von mir als "theScript" bezeichnete Literalzeichenfolge zu erstellen. Woher kommt also das, was Sie das "vollständige Skript" nennen?Betreff: Problem beim Speichern von Skripten in DatentabelleHier ist ein einfaches Beispiel, wie Sie ein solches Skript erstellen. Komponenten, die Sie nicht von JMP erhalten, müssen Sie beim Erstellen des Skripts hinzufügen. Im Prinzip fügen Sie sie einfach nach und nach zusammen. Anschließend fügen Sie das Skript der Datentabelle hinzu.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt = current data table();
theScript = "\[dt = current data table(); ]\";
If( try( dt:ratio << get name,"") == "",
dt<
<NEW column=""></NEW>
<P>Ich habe auch eine Methode verwendet, bei der ich das gesamte Skript zunächst als Zeichenkette erstelle und es dann als Skript speichere. Anschließend führe ich das gespeicherte Skript aus, wodurch ich die Ergebnisse erhalte.</P> <CODE class=" language-jsl">theScript = "\[
dt = current data table();
dt << bivariate( x(:weight), y(:height));
]\";
Eval( Parse( "\[dt<
<NEW script=""></NEW>