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.
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.

Kopiert!
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.append /
4SOURCE='cars_europe' target='cars_usa';
5 
6RUN;
7 
8QUIT;
9 
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.append /
4SOURCE={name='cars_europe', where='MSRP > 50000'} target='cars_usa';
5 
6RUN;
7 
8QUIT;
9 
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.append /
4SOURCE={name='cars_europe', caslib='casuser'} target={name='cars_usa', caslib='casuser'};
5 
6RUN;
7 
8QUIT;
9 
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?

Zugehörige Szenarien

Anwendungsfall
Testszenario für die Konsolidierung von Marketingkampagnen

Eine Marketingabteilung muss Kundendaten aus zwei verschiedenen Kampagnen konsolidieren. Das Ziel ist es, eine Master-Kundenliste für eine neue Werbeaktion zu erstellen. Es soll...

Anwendungsfall
Leistungstestszenario für die Aggregation von großen Protokolldaten

Ein IT-Betriebsteam muss stündlich generierte Server-Protokolldateien in einer zentralen, täglichen Protokolltabelle zusammenfassen. Da das Datenvolumen sehr groß ist, ist die E...

Anwendungsfall
Edge-Case-Szenario: Zusammenführen von Tabellen mit unterschiedlichen Schemata und fehlenden Werten

Ein Einzelhandelsunternehmen übernimmt einen Wettbewerber und muss dessen Produktkatalog in den eigenen Master-Katalog integrieren. Die Kataloge haben unterschiedliche Spalten (...