Das Programm definiert ein Makro namens '%split_data'. Dieses verwendet zunächst PROC SQL, um eine vertikale Liste von Makrovariablen zu erstellen, die die unterschiedlichen Werte der Fahrzeugherstellung enthalten. Anschließend wird in einer %DO-Schleife diese Liste durchlaufen, um dynamisch DATA-Schritte zu generieren, die die Daten filtern und in separate Tabellen speichern (z.B. cars_Asia, cars_Europe usw.).
Datenanalyse
Type : SASHELP
Verwendet die Standardtabelle SASHELP.CARS, die mit der SAS-Installation geliefert wird.
1 Codeblock
PROC SQL
Erklärung : Extrahieren der eindeutigen Werte aus der Spalte ORIGIN in eine Liste inkrementeller Makrovariablen (:ORIGIN1, :ORIGIN2...). Die automatische Variable &sqlobs wird verwendet, um die Gesamtzahl der Herkunftsländer in &NUM_ORIGINS zu speichern.
Kopiert!
proc sql noprint;
select distinct origin into :ORIGIN1-
from sashelp.cars;
%let NUM_ORIGINS = &sqlobs;
quit;
1
PROC SQL noprint;
2
select distinct origin into :ORIGIN1-
3
from sashelp.cars;
4
%let NUM_ORIGINS = &sqlobs;
5
QUIT;
2 Codeblock
DATA STEP Data
Erklärung : Makroschleife, die von 1 bis zur Anzahl der gefundenen Herkunftsländer iteriert. Sie generiert für jede Iteration einen DATA-Schritt. Die Verwendung der indirekten Makrovariablenauflösung (&&ORIGIN&I) ermöglicht die dynamische Benennung der Ausgabetabelle und die Anwendung des entsprechenden WHERE-Filters.
Kopiert!
%do i = 1 %to &NUM_ORIGINS;
data cars_&&ORIGIN&I;
set sashelp.cars;
where origin = "&&ORIGIN&I";
run;
%end;
1
%DO i = 1 %to &NUM_ORIGINS;
2
DATA cars_&&ORIGIN&I;
3
SET sashelp.cars;
4
where origin = "&&ORIGIN&I";
5
RUN;
6
%END;
3 Codeblock
MACRO CALL
Erklärung : Ausführung des Makros zur Initiierung des Aufteilungsprozesses.
Kopiert!
%split_data;
1
%split_data;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.