Veröffentlicht am :
ETL SASHELP

Bedingte Verarbeitung mit IF-THEN/ELSE

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses SAS©-Skript besteht aus zwei DATA-Schritten, die sequentiell auf dem Dataset `sashelp.cars` arbeiten. Der erste `DATA`-Schritt erstellt ein neues Dataset namens `cars2`, indem er die Spalten 'Make', 'Model', 'Type', 'MSRP' auswählt und eine Spalte `Cost_Group` hinzufügt. Diese `Cost_Group` wird durch Preisspannen der Spalte `MSRP` (Manufacturing Suggested Retail Price) mithilfe von `IF-THEN/ELSE IF-THEN/ELSE`-Anweisungen bestimmt. Der zweite `DATA`-Schritt, der denselben Namen `cars2` trägt, überschreibt das zuvor erstellte Dataset. Er erstellt eine neue Variable `CarType` (Länge 6 Zeichen), basierend auf der `MSRP`: 'Basic', wenn die `MSRP` unter 60000 liegt, ansonsten 'Luxury'. Die Spalten 'Make', 'Model', 'MSRP' und 'CarType' bleiben erhalten. Das Skript veranschaulicht auch die Syntax und Verwendung der `LENGTH`-Klausel zur Definition der Größe von Zeichenvariablen.
Datenanalyse

Type : SASHELP


Beide DATA-Schritte verwenden das Standard-Dataset `sashelp.cars` als Eingabequelle, welches ein mit SAS geliefertes Beispieldataset ist.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA-Block erstellt ein neues Dataset namens `cars2` aus `sashelp.cars`. Er bewertet den Wert von `MSRP`, um eine numerische `Cost_Group` (1, 2, 3 oder 4) unter Verwendung einer Reihe von `IF-THEN/ELSE IF-THEN/ELSE`-Bedingungen zuzuweisen. Nur die in der `KEEP`-Anweisung angegebenen Variablen werden im finalen Dataset beibehalten.
Kopiert!
1DATA cars2;
2 SET sashelp.cars;
3 IF MSRP<20000 THEN Cost_Group=1;
4 ELSE IF MSRP<40000 THEN Cost_Group=2;
5 ELSE IF MSRP<60000 THEN Cost_Group=3;
6 ELSE Cost_Group=4;
7 keep Make Model Type MSRP Cost_Group;
8RUN;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA-Block ersetzt das zuvor erstellte Dataset `cars2`. Zuerst wird die Länge der neuen Zeichenvariable `CarType` auf 6 festgelegt. Anschließend wird 'Basic' der `CarType` zugewiesen, wenn die `MSRP` unter 60000 liegt, und 'Luxury' in allen anderen Fällen. Die Variablen 'Make', 'Model', 'MSRP' und die neue Variable `CarType` bleiben erhalten.
Kopiert!
1DATA cars2;
2 SET sashelp.cars;
3 LENGTH CarType $ 6;
4 IF MSRP<60000 THEN CarType="Basic";
5 ELSE CarType="Luxury";
6 keep Make Model MSRP CarType;
7RUN;
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.