table

copyTable

Beschreibung

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.

table.copyTable / casout={casout-options} distributeRows=TRUE | FALSE table={table-options};
Einstellungen
ParameterBeschreibung
tableGibt die zu kopierende Eingabetabelle an.
casoutGibt die Ausgabetabelle an, in die die Daten kopiert werden sollen.
distributeRowsWenn 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.whereGibt eine Teilmenge der zu kopierenden Daten basierend auf einer Bedingung an.
table.computedVarsDefiniert neue Spalten, die während des Kopiervorgangs berechnet werden sollen.
table.computedVarsProgramEnthält den Code zur Berechnung der in 'computedVars' definierten Spalten.
casout.replaceWenn auf TRUE gesetzt, wird eine vorhandene Ausgabetabelle mit demselben Namen überschrieben.
casout.promoteWenn auf TRUE gesetzt, wird die Ausgabetabelle mit globalem Geltungsbereich erstellt, sodass andere Sitzungen darauf zugreifen können.
Erstellung der Beispieldaten

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.

Kopiert!
1 
2PROC CASUTIL;
3load
4DATA=sashelp.cars outcaslib="casuser" casout="CARS_TABLE" promote;
5 
6RUN;
7 
8QUIT;
9 

Beispiele

Dieses Beispiel erstellt eine einfache Kopie der Tabelle 'CARS_TABLE'. Die neue Tabelle 'CARS_COPY' wird in derselben Caslib ('casuser') gespeichert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.copyTable / TABLE={caslib="casuser", name="CARS_TABLE"}, casout={caslib="casuser", name="CARS_COPY"};
4 
5RUN;
6 
Ergebnis :
Die Aktion erstellt eine neue Tabelle 'CARS_COPY' in der 'casuser'-Caslib. Eine Erfolgsmeldung, die den Namen der Caslib und der neuen Tabelle enthält, wird im Protokoll angezeigt.

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.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.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 
6RUN;
7 
Ergebnis :
Eine neue Tabelle 'CARS_KPL' wird erstellt oder überschrieben. Sie enthält alle ursprünglichen Daten sowie die neue Spalte 'kpl' mit den berechneten Werten. Das Protokoll bestätigt die Erstellung der Ausgabetabelle.

FAQ

Was ist der Hauptzweck der `copyTable`-Aktion in SAS Viya?
Welche Parameter sind für die `copyTable`-Aktion erforderlich?
Wie kann ich eine vorhandene Tabelle beim Kopieren überschreiben?
Was bewirkt der Parameter `distributeRows`?
Kann ich beim Kopieren einer Tabelle neue Spalten hinzufügen oder berechnen?
Wie mache ich eine kopierte Tabelle für andere CAS-Sitzungen verfügbar?