Das Programm beginnt mit der Konfiguration einer Autocallable-Makro-Bibliothek und aktiviert den detaillierten Debug-Modus für SCAPROC. Anschließend startet es die SCAPROC-Aufzeichnung. Zwei anfängliche DATA-Schritte erstellen Kopien der Daten 'sashelp.class'. Diese Kopien werden dann mittels PROC SUMMARY nach 'sex' aggregiert, wodurch temporäre Datasets (x2, y2) entstehen. Diese aggregierten Datasets werden anschließend mittels PROC SORT nach 'sex' sortiert (x3, y3). Ein DATA-Schritt zum Zusammenführen kombiniert dann 'x3' und 'y3' zu 'z'. Eine PROC PRINT wird verwendet, um den Inhalt des Datasets 'z' anzuzeigen. Schließlich führt eine PROC SQL einen Left Join zwischen den ursprünglichen Datasets 'x' und 'y' durch, um 'sql_table' zu erstellen. Die SCAPROC-Aufzeichnung wird beendet und das Makro %scaproc_analyse wird aufgerufen, um die GraphViz-Beschreibung des Verarbeitungsflusses zu generieren.
Datenanalyse
Type : SASHELP
Die Quelldaten stammen ausschließlich aus dem internen Dataset 'SASHELP.CLASS', einer Standardbeispieltabelle, die mit SAS geliefert wird. Es werden keine externen oder inline generierten Daten ('datalines') verwendet.
1 Codeblock
Systemkonfiguration und Makros
Erklärung : Dieser Block konfiguriert das SAS-System für die Verwendung spezifischer Makros. Er definiert 'mymacros' als eine Autocallable-Bibliothek, die auf das aktuelle Verzeichnis verweist, fügt diese Bibliothek den SASAUTOS-Optionen hinzu und initialisiert die Makrovariable '_eandebug', um die detaillierte SCAPROC-Ablaufverfolgung zu aktivieren. Schließlich startet das Makro '%eanbegin' die Aufzeichnung des Programmausführungsflusses unter dem Namen 'Sample 1'.
Kopiert!
filename mymacros '.';
options append=sasautos=(mymacros);
%* set macro variable to turn on SCAPROC and set verbose logging ;
%let _eandebug=scaproc,verbose;
%* Start recording SCAPROC data ;
%eanbegin(Sample 1)
1
filename mymacros '.';
2
options append=sasautos=(mymacros);
3
4
%* SET macro variable to turn on SCAPROC and SET verbose logging ;
5
%let _eandebug=scaproc,verbose;
6
7
%* Start recording SCAPROC DATA ;
8
%eanbegin(Sample 1)
2 Codeblock
DATA STEP Data
Erklärung : Ein DATA-Schritt, der ein neues Dataset namens 'x' erstellt. Er liest alle Beobachtungen und Variablen aus dem Dataset 'sashelp.class' und kopiert sie nach 'x'.
Kopiert!
data x ;
set sashelp.class ;
run ;
1
DATA x ;
2
SET sashelp.class ;
3
RUN ;
3 Codeblock
DATA STEP Data
Erklärung : Ein zweiter DATA-Schritt, der ein neues Dataset namens 'y' erstellt. Ähnlich dem vorherigen, kopiert er ebenfalls alle Beobachtungen und Variablen von 'sashelp.class' nach 'y'.
Kopiert!
data y ;
set sashelp.class ;
run ;
1
DATA y ;
2
SET sashelp.class ;
3
RUN ;
4 Codeblock
PROC SUMMARY Data
Erklärung : Diese Prozedur berechnet zusammenfassende Statistiken. Für das Dataset 'x' gruppiert sie die Beobachtungen nach der Variable 'sex' und berechnet den Mittelwert der Variable 'height'. Die Ergebnisse werden im neuen Dataset 'x2' gespeichert.
Kopiert!
proc summary data=x ;
class sex ;
var height ;
output out=x2 mean= ;
run ;
1
PROC SUMMARYDATA=x ;
2
class sex ;
3
var height ;
4
OUTPUT out=x2 mean= ;
5
RUN ;
5 Codeblock
PROC SUMMARY Data
Erklärung : Ähnlich dem vorherigen Block berechnet diese Prozedur die zusammenfassenden Statistiken für das Dataset 'y'. Sie gruppiert nach 'sex', berechnet den Mittelwert von 'height' und speichert die Ergebnisse in 'y2'.
Kopiert!
proc summary data=y ;
class sex ;
var height ;
output out=y2 mean= ;
run ;
1
PROC SUMMARYDATA=y ;
2
class sex ;
3
var height ;
4
OUTPUT out=y2 mean= ;
5
RUN ;
6 Codeblock
PROC SORT Data
Erklärung : Die Prozedur PROC SORT wird verwendet, um das Dataset 'x2' nach der Variable 'sex' zu sortieren. Das sortierte Dataset wird dann unter dem Namen 'x3' gespeichert. Das Sortieren ist ein wesentlicher vorbereitender Schritt für Zusammenführungs- oder Join-Operationen.
Kopiert!
proc sort data=x2 out=x3 ;
by sex ;
run ;
1
PROC SORTDATA=x2 out=x3 ;
2
BY sex ;
3
RUN ;
7 Codeblock
PROC SORT Data
Erklärung : Analog zum vorherigen Block sortiert diese PROC SORT das Dataset 'y2' nach der Variable 'sex' und speichert das Ergebnis in 'y3'. Dies bereitet 'y3' auf eine Zusammenführung mit 'x3' vor.
Kopiert!
proc sort data=y2 out=y3 ;
by sex ;
run ;
1
PROC SORTDATA=y2 out=y3 ;
2
BY sex ;
3
RUN ;
8 Codeblock
DATA STEP Data
Erklärung : Dieser DATA-Schritt führt eine Zusammenführung (Merge) der sortierten Datasets 'x3' und 'y3' durch. Die Zusammenführung erfolgt anhand der Variable 'sex', wodurch Beobachtungen mit demselben Wert für 'sex' aus beiden Datasets im neuen Dataset 'z' kombiniert werden.
Kopiert!
data z ;
merge x3 y3 ;
by sex ;
run ;
1
DATA z ;
2
MERGE x3 y3 ;
3
BY sex ;
4
RUN ;
9 Codeblock
PROC PRINT
Erklärung : Die Prozedur PROC PRINT wird verwendet, um den Inhalt des zuletzt in der SAS-Sitzung erstellten Datasets anzuzeigen. In diesem Fall handelt es sich um das Dataset 'z', das aus der Zusammenführungsoperation resultiert.
Kopiert!
proc print ;
run ;
1
PROC PRINT ;
2
RUN ;
10 Codeblock
PROC SQL Data
Erklärung : Dieser Block verwendet PROC SQL, um einen Join durchzuführen. Er erstellt eine neue Tabelle namens 'sql_table', indem er die Datasets 'x' und 'y' über einen Left Outer Join (LEFT JOIN) auf der Variable 'sex' kombiniert. Dies schließt alle Beobachtungen von 'x' und die entsprechenden Beobachtungen von 'y' ein.
Kopiert!
proc sql ;
create table sql_table as
select *
from x
left join
y
on x.sex=y.sex ;
quit ;
1
PROC SQL ;
2
create TABLE sql_table as
3
select *
4
from x
5
left join
6
y
7
on x.sex=y.sex ;
8
QUIT ;
11 Codeblock
Analyse SCAPROC
Erklärung : Dieser Block schließt die Aufzeichnung der SCAPROC-Daten mit dem Makro '%eanend' ab. Anschließend wird das Makro '%scaproc_analyse' aufgerufen, um die aufgezeichneten SCAPROC-Daten zu verarbeiten und eine Ausgabe im GraphViz DOT-Format zu generieren, die zur Erstellung einer grafischen Darstellung (Flussdiagramm) des SAS-Programmausführungsflusses verwendet werden kann.
Kopiert!
%* Finish recording SCAPROC data and write it out ;
%eanend
%* Generate the graphViz dot language to be used to make diagram ;
%scaproc_analyse
1
%* Finish recording SCAPROC DATA and write it out ;
2
%eanend
3
4
5
%* Generate the graphViz dot language to be used to make diagram ;
6
%scaproc_analyse
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.