Hallo zusammen,
Ich habe ein Skript geschrieben, in dem ich basierend auf einer Berechnung mehrere Spalten in der JMP-Tabelle (z. B. Tabelle 1) erstellen werde. Jetzt möchte ich einige ausgewählte Zeilen und Spalten von Tabelle 1 in eine andere JMP-Tabelle (z. B. Tabelle 2) füllen. Ich benötige Hilfe beim Auffüllen der zweiten Tabelle mit ausgewählten Zeilen und Spalten.
Bitte vorschlagen.
Grüße,
Dilip
Hier sind einige Möglichkeiten, um das zu tun, was Sie verlangen.Die erste Methode, die Verwendung der Update-Plattform, ist weitaus effizienter als die Aktualisierung von Zelle zu Zelle, aber beide funktionieren gut und jede hat ihren Platz dort, wo Sie die jeweilige Technik verwenden möchten.
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = Open( "$SAMPLE_DATA/big class families.jmp" );
// Add a new columns
dt1 << New Column( "Height, Weight ratio", formula( :weight / :height ) );
dt1 << New Column( "Age, Height ratio", formula( :height / :Age ) );
// Add the Height, Weight ratio to the dt2 data table, for only the
// females, using a simple subset and a join
dt1 << select where( :sex == "F" );
dtSubset = dt1 << subset(
private,
selected rows( 1 ),
columns( {"name", "Height, Weight ratio"} )
);
dt2 << Update( With( dtSubset ), Match Columns( :name = :name ) );
Close( dtSubset, nosave );
// Add the Age, Height ratio to the dt2 data table for only the
// 13 year olds, using cell by cell processing
dt2 << New Column( "Age, Height ratio" );
For( i = 1, i <= N Rows( dt1 ), i++,
If( dt1:age[i] == 13,
foundRow = dt2 << get rows where( dt1:name[i] == dt2:name & dt2:age == 13 );
If( N Rows( foundRow ) == 1,
theRow = foundRow[1];
dt2:Name( "Age, Height ratio" )[theRow] = dt1:Name( "Age, Height ratio" )[i];
);
)
);
Es gibt auch andere Methoden, die verwendet werden können.Ich empfehle Ihnen, den Scripting Guide zu lesen, um ein gutes Gefühl für die Vielfalt der verfügbaren Optionen zu bekommen
Hilfe==>Bücher==>Skripthandbuch