Die Aktion `copyTable` erstellt eine Kopie einer In-Memory-Tabelle des CAS-Servers. Dies ist nützlich, um eine Momentaufnahme von Daten zu erstellen, eine Tabelle in eine andere Caslib zu verschieben oder um eine Tabelle zu ändern, während das Original erhalten bleibt, z. B. durch Hinzufügen berechneter Spalten während des Kopiervorgangs.
| Parameter | Beschreibung |
|---|---|
| table | Gibt die zu kopierende Eingabetabelle an. |
| casout | Gibt die Ausgabetabelle an, in die die Daten kopiert werden sollen. |
| distributeRows | Wenn auf TRUE gesetzt, werden die Zeilen der Originaltabelle auf die Worker in der Kopie verteilt. Standardmäßig bleiben die Zeilen auf ihrem ursprünglichen Worker. |
| table.where | Gibt eine Teilmenge der zu kopierenden Daten basierend auf einer Bedingung an. |
| table.computedVars | Definiert neue Spalten, die während des Kopiervorgangs berechnet werden sollen. |
| table.computedVarsProgram | Enthält den Code zur Berechnung der in 'computedVars' definierten Spalten. |
| casout.replace | Wenn auf TRUE gesetzt, wird eine vorhandene Ausgabetabelle mit demselben Namen überschrieben. |
| casout.promote | Wenn auf TRUE gesetzt, wird die Ausgabetabelle mit globalem Geltungsbereich erstellt, sodass andere Sitzungen darauf zugreifen können. |
Dieser Code lädt die Tabelle 'CARS' aus der Bibliothek 'SASHELP' in eine In-Memory-Tabelle des CAS-Servers. Die neue Tabelle heißt 'CARS_TABLE' und wird in der 'CASUSER'-Caslib gespeichert. Diese Tabelle dient als Grundlage für die folgenden Beispiele.
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=sashelp.cars outcaslib="casuser" casout="CARS_TABLE" promote; |
| 5 | |
| 6 | RUN; |
| 7 | |
| 8 | QUIT; |
| 9 |
Dieses Beispiel erstellt eine einfache Kopie der Tabelle 'CARS_TABLE'. Die neue Tabelle 'CARS_COPY' wird in derselben Caslib ('casuser') gespeichert.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.copyTable / TABLE={caslib="casuser", name="CARS_TABLE"}, casout={caslib="casuser", name="CARS_COPY"}; |
| 4 | |
| 5 | RUN; |
| 6 |
Dieses Beispiel kopiert die Tabelle 'CARS_TABLE' und fügt dabei eine neue Spalte namens 'kpl' hinzu. Diese neue Spalte wird mit dem Parameter 'computedVarsProgram' berechnet und stellt den durchschnittlichen Kraftstoffverbrauch in 'Kilometer pro Liter' dar. Der Parameter 'replace=true' stellt sicher, dass die Zieltabelle überschrieben wird, falls sie bereits existiert.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.copyTable / TABLE={caslib="casuser", name="CARS_TABLE"}, casout={caslib="casuser", name="CARS_KPL", replace=true}, computedVars={{name="kpl"}}, computedVarsProgram="kpl = (MPG_City + MPG_Highway) / 2 * 0.425; |
| 4 | "; |
| 5 | |
| 6 | RUN; |
| 7 |