?> alterTable - WeAreCAS
table

alterTable

Beschreibung

Die Aktion `alterTable` im `table` Action Set ist ein vielseitiges Werkzeug zur Verwaltung von In-Memory-Tabellen in SAS Viya. Sie ermöglicht es Benutzern, Metadaten und die Struktur einer vorhandenen CAS-Tabelle zu ändern, ohne die Daten neu laden zu müssen. Zu den Hauptfunktionen gehören das Umbenennen von Tabellen, das Ändern von Tabellen- und Spaltenbezeichnungen, das Anwenden oder Ändern von Formaten für Spalten, das Löschen von Spalten und das Neuanordnen der Spaltenreihenfolge. Diese Aktion ist besonders nützlich für die Datenaufbereitung und -verwaltung direkt auf dem CAS-Server, was die Effizienz durch die Vermeidung unnötiger Datenverschiebungen verbessert.

table.alterTable <result=results> <status=rc> / caslib="string", columnOrder={"variable-name-1" <, "variable-name-2", ...>}, columns={{ binaryType="IMAGE" | "SOUND" | "UNKNOWN" | "VIDEO", drop=TRUE | FALSE, format="string", label="string", name="variable-name", newType="VARBINARY" | "VARCHAR", rename="string" }, {...}}, drop={"variable-name-1" <, "variable-name-2", ...>}, keep={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, name="table-name", rename="string", tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE";
Einstellungen
ParameterBeschreibung
caslibGibt die Caslib für die Eingabetabelle an, die Sie mit der Aktion verwenden möchten. Standardmäßig wird die aktive Caslib verwendet. Geben Sie nur dann einen Wert an, wenn Sie auf eine Tabelle aus einer anderen Caslib zugreifen müssen.
columnOrderGibt die Reihenfolge der Spalten in den Tabellenmetadaten an.
columnsGibt an, wie Spalten geändert werden sollen. Nachdem Sie den Spaltennamen angegeben haben, können Sie eine Spalte löschen oder ein neues Format, eine neue Bezeichnung oder einen neuen Namen zuweisen. Spalten werden umbenannt, bevor die Parameter `drop`, `keep` oder `columnOrder` ausgewertet werden.
binaryTypeGibt den Binärtyp für die Spalte an.
drop (in columns)Wenn auf TRUE gesetzt, wird die angegebene Spalte aus der Tabelle gelöscht.
formatWeist der Spalte ein neues Format zu.
label (in columns)Weist der Spalte eine neue Bezeichnung zu.
name (in columns)Gibt den Namen der zu ändernden Spalte an.
newTypeÄndert den Datentyp der Spalte in VARBINARY oder VARCHAR.
rename (in columns)Gibt einen neuen Namen für die Spalte an.
dropEine Liste von Spalten, die aus der Tabelle gelöscht werden sollen.
keepEine Liste von Spalten, die in der Tabelle beibehalten werden sollen; alle anderen werden gelöscht.
labelGibt eine neue Bezeichnung für die Tabelle an.
lifetimeGibt die Anzahl der Sekunden an, die die Tabelle im Speicher verbleibt, nachdem zuletzt darauf zugegriffen wurde. Die Tabelle wird gelöscht, wenn für die angegebene Anzahl von Sekunden kein Zugriff erfolgt.
nameGibt den Namen der zu ändernden Tabelle an.
renameGibt einen neuen Namen für die Tabelle an.
tableRedistUpPolicyGibt die Richtlinie zur Tabellenumverteilung an, wenn die Anzahl der Worker-Pods auf einem laufenden CAS-Server zunimmt.
Datenaufbereitung
Erstellung von Beispieldaten

Dieser Code erstellt eine Tabelle namens 'CARS_MODIFIABLE' in der Caslib 'CASUSER', die in den folgenden Beispielen verwendet wird. Diese Tabelle ist eine Kopie der Tabelle 'CARS' aus der Bibliothek 'SASHELP' und enthält verschiedene Spalten, die umbenannt, deren Formate geändert oder die gelöscht werden können.

proc cas;
dataStep.runCode / code='data casuser.CARS_MODIFIABLE; set sashelp.cars; run;';
run; quit;

Beispiele

Dieses Beispiel benennt die Tabelle 'CARS_MODIFIABLE' in 'CARS_RENAMED' um.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.alterTable / caslib='casuser' name='CARS_MODIFIABLE' rename='CARS_RENAMED'; RUN; QUIT;
Ergebnis :
Die Aktion gibt an, dass die Tabelle erfolgreich umbenannt wurde. Eine nachfolgende Überprüfung der Tabellen in der Caslib 'CASUSER' würde das Verschwinden von 'CARS_MODIFIABLE' und das Erscheinen von 'CARS_RENAMED' zeigen.

Dieses Beispiel fügt der Tabelle 'CARS_RENAMED' die Bezeichnung 'Geänderte Fahrzeugdaten' hinzu.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.alterTable / caslib='casuser' name='CARS_RENAMED' label='Geänderte Fahrzeugdaten'; RUN; QUIT;
Ergebnis :
Die Aktion wird erfolgreich ausgeführt. Die Metadaten der Tabelle 'CARS_RENAMED' enthalten nun die neue Bezeichnung.

Dieses Beispiel verwendet den Parameter `drop`, um die Spalte 'EngineSize' aus der Tabelle zu entfernen.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.alterTable / caslib='casuser' name='CARS_RENAMED' drop={'EngineSize'}; RUN; QUIT;
Ergebnis :
Die Tabelle 'CARS_RENAMED' enthält die Spalte 'EngineSize' nicht mehr.

Dieses Beispiel führt mehrere Änderungen an der Tabelle 'CARS_RENAMED' durch: Die Spalte 'Cylinders' wird gelöscht, die Spalte 'MSRP' wird in 'Listenpreis' umbenannt und erhält ein Dollar-Format, und die Spalte 'Invoice' erhält eine neue Bezeichnung.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.alterTable / caslib='casuser' name='CARS_RENAMED' columns={{name='Cylinders', drop=true}, {name='MSRP', rename='Listenpreis', FORMAT='DOLLAR12.2'}, {name='Invoice', label='Rechnungsbetrag'}}; RUN; QUIT;
Ergebnis :
Die Aktion ändert die Tabellenstruktur. Die Spalte 'Cylinders' ist nicht mehr vorhanden. Die Spalte 'MSRP' heißt jetzt 'Listenpreis' und wird mit einem Dollar-Format angezeigt. Die Spalte 'Invoice' hat eine neue Bezeichnung.

Dieses Beispiel ordnet die Spalten neu an, um 'Make', 'Model' und 'Type' an den Anfang zu stellen, und löscht gleichzeitig die Spalten 'Horsepower' und 'Weight' mithilfe des `drop`-Parameters.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.alterTable / caslib='casuser' name='CARS_RENAMED' drop={'Horsepower', 'Weight'} columnOrder={'Make', 'Model', 'Type'}; RUN; QUIT;
Ergebnis :
Die Tabelle 'CARS_RENAMED' enthält die Spalten 'Horsepower' und 'Weight' nicht mehr. Die verbleibenden Spalten werden mit 'Make', 'Model' und 'Type' als erste drei Spalten angezeigt, gefolgt von den anderen in ihrer ursprünglichen Reihenfolge.

FAQ

Was ist der Zweck der `alterTable`-Aktion in SAS Viya?
Wie kann ich eine Tabelle mit der `alterTable`-Aktion umbenennen?
Wie kann ich Spalten in einer Tabelle mit `alterTable` ändern?
Kann ich mit dieser Aktion mehrere Spalten auf einmal löschen?
Was bewirkt der `label`-Parameter in der `alterTable`-Aktion?
Wie kann die Reihenfolge der Spalten in einer Tabelle geändert werden?
Was ist der Zweck des `lifetime`-Parameters?