Veröffentlicht am :
Ablaufsteuerung CREATION_INTERNE

Beispiel: SELECT WHEN-Anweisung

Dieser Code ist auch verfügbar auf: English Español Français
Die SELECT WHEN-Anweisung ermöglicht es Ihnen, eine oder mehrere Anweisungen in einer Anweisungsgruppe bedingt zu verarbeiten, basierend auf dem Wert einer einzelnen kategorialen Variablen. Eine Anweisungsgruppe zwischen den Anweisungen SELECT und END wird als SELECT-Gruppe bezeichnet. SELECT-Gruppen enthalten WHEN-Anweisungen, die die SAS©-Anweisungen identifizieren, die ausgeführt werden, wenn eine bestimmte Bedingung wahr ist. Die END-Anweisung und mindestens eine WHEN-Anweisung sind erforderlich, wenn die SELECT-Anweisung angegeben wird. Die Verwendung einer SELECT-Gruppe ist effizienter als die Verwendung einer Reihe von IF-THEN-Anweisungen, wenn Sie eine lange Reihe von sich gegenseitig ausschließenden Bedingungen haben. Eine große Anzahl von Bedingungen macht eine SELECT-Gruppe effizienter als IF-THEN/ELSE-Anweisungen, da die CPU-Zeit reduziert wird. SELECT-Gruppen erleichtern auch das Lesen und Debuggen des Programms. Eine optionale OTHERWISE-Anweisung gibt eine Anweisung an, die ausgeführt werden soll, wenn keine WHEN-Bedingung erfüllt ist. Zum Beispiel, wenn Ihre Daten fehlende oder ungültige Daten enthalten. Bei den in einer OTHERWISE-Anweisung verwendeten Nullanweisungen verhindert die SELECT WHEN-Anweisung, dass SAS© eine Fehlermeldung ausgibt.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden Daten aus der SASHELP-Bibliothek (sashelp.shoes).

1 Codeblock
DATA STEP
Erklärung :
Dieses Beispiel erstellt einen neuen Datensatz 'shoes' aus `sashelp.shoes`. Es filtert die Daten, um nur die Regionen 'Canada', 'Pacific' und 'Asia' einzuschließen. Anschließend wird die SELECT WHEN-Anweisung verwendet, um unterschiedliche Rabatte auf die Verkäufe basierend auf der Region anzuwenden: 10% für Kanada, 9% für den Pazifik und 7% für Asien. Schließlich zeigt `PROC PRINT` den Inhalt des geänderten Datensatzes an.
Kopiert!
1DATA shoes;
2 SET sashelp.shoes(where=(Region='Canada' or Region='Pacific' or Region='Asia'));
3 keep Region Sales Product;
4 select(Region);
5 when('Canada') sales = sales * .10;
6 when('Pacific') sales = sales * .09;
7 when('Asia') sales = sales * .07;
8 END;
9RUN;
10PROC PRINT DATA=shoes; RUN;
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 : Copyright © SAS Institute Inc. All Rights Reserved