?> append - WeAreCAS
table

append

Beschreibung

Fügt die Zeilen einer Quelltabelle an eine Zieltabelle an. Diese Aktion ist nützlich, um Daten aus zwei oder mehr Tabellen zu konsolidieren. Eine wichtige Voraussetzung ist, dass die Zieltabelle eine In-Memory-Tabelle sein muss. Die Spalten in der Quell- und Zieltabelle müssen nicht identisch sein; die Aktion hängt Daten basierend auf übereinstimmenden Spaltennamen an.

proc cas; table.append / source={caslib='string', dataSourceOptions={key-1=any-list-or-data-type-1, ...}, name='table-name', singlePass=TRUE | FALSE, where='where-expression'} target={caslib='string', name='table-name'}; run;
Einstellungen
ParameterBeschreibung
sourceGibt die Quelltabelle an, deren Zeilen angehängt werden sollen.
targetGibt die Zieltabelle an, an die die Zeilen angehängt werden sollen. Diese muss eine In-Memory-Tabelle sein.
caslibGibt die Caslib für die jeweilige Tabelle an. Wenn nicht angegeben, wird die aktive Caslib verwendet.
nameGibt den Namen der Tabelle an.
dataSourceOptionsGibt Optionen für Datenquellen an, wenn die Quelltabelle keine CAS-Tabelle ist.
singlePassWenn auf TRUE gesetzt, wird keine transiente Tabelle auf dem Server erstellt. Dies kann effizienter sein, aber die Datenreihenfolge ist bei wiederholten Ausführungen möglicherweise nicht stabil.
whereGibt einen Ausdruck zum Filtern der Zeilen aus der Quelltabelle an, die angehängt werden sollen.
Datenaufbereitung
Datenvorbereitung

Dieser Code erstellt zwei Tabellen, 'cars_usa' und 'cars_europe', in der 'casuser'-Caslib. Diese Tabellen werden in den folgenden Beispielen verwendet, um die Funktionalität der 'append'-Aktion zu demonstrieren.

1DATA casuser.cars_usa;
2 SET sashelp.cars;
3 where Origin = 'USA';
4RUN;
5 
6DATA casuser.cars_europe;
7 SET sashelp.cars;
8 where Origin = 'Europe';
9RUN;

Beispiele

Dieses Beispiel hängt alle Zeilen aus der Tabelle 'cars_europe' an die Tabelle 'cars_usa' an. Beide Tabellen befinden sich in der aktiven Caslib 'casuser'.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.append / source='cars_europe' target='cars_usa'; RUN; QUIT;
Ergebnis :
Die Tabelle 'cars_usa' enthält nun die kombinierten Daten der amerikanischen und europäischen Autos. Die Anzahl der Zeilen in 'cars_usa' erhöht sich um die Anzahl der Zeilen in 'cars_europe'.

Dieses Beispiel hängt nur die europäischen Autos an, deren 'MSRP' (Hersteller-unverbindliche Preisempfehlung) über 50.000 liegt, an die Tabelle 'cars_usa' an.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.append / source={name='cars_europe', where='MSRP > 50000'} target='cars_usa'; RUN; QUIT;
Ergebnis :
Die Tabelle 'cars_usa' wird um die Zeilen der teuren europäischen Autos erweitert. Nur die Autos aus 'cars_europe', die die WHERE-Bedingung erfüllen, werden hinzugefügt.

Dieses Beispiel zeigt die Verwendung detaillierter Parameter, um die Quell- ('cars_europe') und Ziel- ('cars_usa') Tabellen explizit über ihre Namen und Caslibs zu definieren.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.append / source={name='cars_europe', caslib='casuser'} target={name='cars_usa', caslib='casuser'}; RUN; QUIT;
Ergebnis :
Das Ergebnis ist identisch mit dem einfachen Beispiel. Alle Zeilen aus 'cars_europe' werden an 'cars_usa' angehängt. Dieser Ansatz ist nützlich, um die Eindeutigkeit bei komplexen Setups mit mehreren Caslibs sicherzustellen.

FAQ

Was bewirkt die Aktion `append`?
Welche Parameter sind für die Aktion `append` erforderlich?
Wie kann ich nur einen Teil einer Quelltabelle mit der Aktion `append` anhängen?
Was ist der Zweck des Parameters `singlePass` in der Aktion `append`?
Kann ich Datenquellenoptionen für die Quelltabelle angeben?