Die Eingabedaten stammen aus dem internen SASHELP.CLASS-Datensatz, der standardmäßig in SAS verfügbar ist.
1 Codeblock
DATA STEP
Erklärung : Dieser DATA _NULL_ Schritt durchläuft den SASHELP.CLASS-Datensatz. Für jede Beobachtung wird CALL SYMPUTX verwendet, um eine Makrovariable mit dem Namen 'STUDENT' gefolgt von der Beobachtungsnummer (_n_) zu erstellen und ihr den Wert der Variablen 'name' zuzuweisen. Wenn das Ende der Datei erreicht ist (end=eof), wird eine Makrovariable 'NUM_STUDENTS' erstellt, die die Gesamtzahl der verarbeiteten Beobachtungen enthält.
Kopiert!
data _null_;
set sashelp.class end=eof;
call symputx(cats('STUDENT',_n_),name);
if eof then call symputx('NUM_STUDENTS',_n_);
run;
1
DATA _null_;
2
SET sashelp.class END=eof;
3
call symputx(cats('STUDENT',_n_),name);
4
IF eof THEN call symputx('NUM_STUDENTS',_n_);
5
RUN;
2 Codeblock
MACRO STATEMENT
Erklärung : Dieser Block verwendet die %PUT-Anweisung, um die Werte der zuvor erstellten Makrovariablen (NUM_STUDENTS und die STUDENTx-Variablen) direkt im SAS-Protokoll anzuzeigen. Die Optionen NOSOURCE und SOURCE werden verwendet, um den SAS-Code selbst im Protokoll auszublenden oder anzuzeigen, wodurch die Ergebnisse der %PUT hervorgehoben werden können.
Kopiert!
* Verify the contents of the new macro variables by printing to the SAS log.;
options nosource;
%put ======================;
%put Number of Students: &NUM_STUDENTS;
%put;
%put Student 1: &STUDENT1;
%put Student 2: &STUDENT2;
%put Student 3: &STUDENT3;
%put ...;
%put Student 17: &STUDENT17;
%put Student 18: &STUDENT18;
%put Student 19: &STUDENT19;
%put ======================;
options source;
1
* Verify the contents of the new macro variables by printing to the SAS log.;
2
options nosource;
3
%put ======================;
4
%put Number of Students: &NUM_STUDENTS;
5
%put;
6
%put Student 1: &STUDENT1;
7
%put Student 2: &STUDENT2;
8
%put Student 3: &STUDENT3;
9
%put ...;
10
%put Student 17: &STUDENT17;
11
%put Student 18: &STUDENT18;
12
%put Student 19: &STUDENT19;
13
%put ======================;
14
options SOURCE;
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.
Urheberrechtsinformationen : HANDS-ON WORKSHOP, Title: Using SAS Macro Variable Lists to Create Dynamic Data-Driven Programs, Instructor: Josh Horstman
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.