Veröffentlicht am :
ETL SASHELP

Ausführung einer iterativen DO-Schleife

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Programm liest die ersten beiden Datensätze aus der Tabelle `sashelp.shoes`. Für jeden gelesenen Datensatz wird eine `DO`-Schleife dreimal ausgeführt (für `Year` von 1 bis 3). Innerhalb der Schleife wird der Wert von `ProjectedSales` um 5 % erhöht und mit der `OUTPUT`-Anweisung bei jeder Iteration ein neuer Datensatz in die Tabelle `forecast` geschrieben. Schließlich werden nur bestimmte Spalten beibehalten und ein Währungsformat auf `ProjectedSales` angewendet. Die `PUTLOG`-Anweisungen helfen, die Ausführung im SAS©-Log zu verfolgen.
Datenanalyse

Type : SASHELP


Die Daten stammen aus der Tabelle `sashelp.shoes`. Das Skript liest nur die ersten beiden Beobachtungen (Option obs=2).

1 Codeblock
DATA STEP Data
Erklärung :
Dieser Codeblock ist ein DATA-Schritt, der die Tabelle `forecast` erstellt. Er beginnt damit, die ersten beiden Beobachtungen von `sashelp.shoes` zu lesen, wobei die Spalte `Sales` umbenannt wird. Eine `DO`-Schleife wird verwendet, um für jede Eingabebeobachtung dreimal zu iterieren. Bei jeder Iteration wird die Variable `ProjectedSales` neu berechnet (um 5 % erhöht) und mit der `OUTPUT`-Anweisung explizit ein neuer Datensatz in die Ausgabetabelle geschrieben. Nach der Schleife wählt die `KEEP`-Anweisung die zu behaltenden Spalten aus und `FORMAT` wendet ein Währungsformat auf `ProjectedSales` an.
Kopiert!
1DATA forecast;
2 putlog 'Top of DATA Step ' Year= _N_=;
3 SET sashelp.shoes(obs=2 rename=(Sales=ProjectedSales));
4 DO Year = 1 to 3;
5 ProjectedSales=ProjectedSales*1.05;
6 OUTPUT;
7 putlog 'Value of Year written to table: ' Year=;
8 END;
9 putlog 'Outside of DO Loop: ' Year=;
10 keep Region Product Subsidiary Year ProjectedSales;
11 FORMAT ProjectedSales dollar10.;
12RUN;
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.