Veröffentlicht am :
Kontrollfluss CREATION_INTERNE

Beispiel: SELECT WHEN-Anweisung

Dieser Code ist auch verfügbar auf: English Español
Die SELECT WHEN-Anweisung ermöglicht die bedingte Verarbeitung einer oder mehrerer Anweisungen in einer Anweisungsgruppe, 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 bei der Angabe der SELECT-Anweisung erforderlich. 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 Null-Anweisungen, die in einer OTHERWISE-Anweisung verwendet werden, verhindert die SELECT WHEN-Anweisung, dass SAS© eine Fehlermeldung ausgibt.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP.

1 Codeblock
DATA STEP
Erklärung :
Dieser SAS-Code verwendet einen DATA-Schritt, um einen neuen Datensatz 'shoes' aus 'sashelp.shoes' zu erstellen. Er filtert Beobachtungen, bei denen die Region 'Canada', 'Pacific' oder 'Asia' ist. Anschließend wird eine SELECT WHEN-Anweisung verwendet, um unterschiedliche Verkaufsrabatte basierend auf der Region anzuwenden: 10% für 'Canada', 9% für 'Pacific' und 7% für 'Asia'. Schließlich wird eine PROC PRINT verwendet, um den Inhalt des geänderten Datensatzes anzuzeigen.
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.