Ich kann nicht herausfinden, um ein Problem zu lösen.Schleifen durch Tabellen und verbinden sie in SAS
Ich habe unbekannte Anzahl von Tabellen in einer SAS-Bibliothek. Ich möchte eine Schleife machen, die durch sie geht und "UNION ALL" diese Tabellen.
Tabellen sind vorgeprüft und haben dieselbe Struktur. Diese Tabellen enthalten historisierte Daten, daher sollte es Union Union sein. Ich habe folgendes Skript versucht, aber es sucht nach allen Möglichkeiten, aber macht UNION ALL nicht.
Ich schätze jede Idee, um dies zu lösen.
%macro union_tables(table_name, last_extract);
%do i=1 %to &last_extract.;
select * from data.&table_name&i
union all
%end;
select * from data.&table_name&i
%mend;
proc sql;
create table Full_history as
%union_tables(Table_,1216);
quit;
Vielen Dank im Voraus.
Sie machen eine "Union all" auf 1216 Tabellen? Welche Fehlermeldungen erhalten Sie? Können Sie ein [reproduzierbares Beispiel] (http://www.stackoverflow.com/help/mcve) bereitstellen? – user667489
1216 ist der Monat und das Jahr, die jede Tabelle identifiziert und für jede Tabelle unterschiedlich ist. – Noza
Fehler: Datei Tabelle_1 ist nicht vorhanden. Fehler: Datei Tabelle_2 ist nicht vorhanden. Fehler: Datei Tabelle_3 existiert nicht. ......und so weiter und es wird keine Vereinigung mehr gemacht – Noza