Dieses Skript veranschaulicht, wie eine horizontale Liste von Werten erstellt wird, die während der Ausführung eines DATA-Schritts in einer Makrovariablen gespeichert wird. Es verwendet die SASHELP.CLASS-Tabelle, um alle Schülernamen, getrennt durch eine Tilde, zu verketten und speichert auch die Gesamtzahl der Schüler.
Datenanalyse
Type : SASHELP
Die Daten stammen aus der Standardtabelle SASHELP.CLASS.
1 Codeblock
DATA STEP
Erklärung : Dieser DATA _NULL_ Schritt durchläuft die Tabelle SASHELP.CLASS. Die RETAIN-Anweisung und die CATX-Funktion ermöglichen das Sammeln der Namen in der Variablen 'student_list'. Bei der letzten Beobachtung (eof) weist CALL SYMPUTX die vollständige Liste und die Anzahl der Beobachtungen (_n_) Makrovariablen zu.
Kopiert!
data _null_;
set sashelp.class end=eof;
length student_list $200;
retain student_list;
student_list = catx('~',student_list,name);
if eof then do;
call symputx('STUDENT_LIST',student_list);
call symputx('NUM_STUDENTS',_n_);
end;
run;
1
DATA _null_;
2
SET sashelp.class END=eof;
3
LENGTH student_list $200;
4
retain student_list;
5
student_list = catx('~',student_list,name);
6
IF eof THENDO;
7
call symputx('STUDENT_LIST',student_list);
8
call symputx('NUM_STUDENTS',_n_);
9
END;
10
RUN;
2 Codeblock
SAS MACRO LANGUAGE
Erklärung : Zeigt den Inhalt der erstellten Makrovariablen (&NUM_STUDENTS und &STUDENT_LIST) im SAS-Log zur Überprüfung an. Die Option 'nosource' wird verwendet, um die Log-Ausgabe zu bereinigen.
Kopiert!
options nosource;
%put ======================;
%put Number of Students: &NUM_STUDENTS;
%put Student List: &STUDENT_LIST;
%put ======================;
options source;
1
options nosource;
2
%put ======================;
3
%put Number of Students: &NUM_STUDENTS;
4
%put Student List: &STUDENT_LIST;
5
%put ======================;
6
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.
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.