Die Beispiele verwenden die integrierten SASHELP-Datasets SASHELP.SHOES, SASHELP.CLASS und SASHELP.BASEBALL.
1 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel verwendet die WHERE-Anweisung, um Zeilen bedingt aus dem Dataset sashelp.class auszuwählen und die ausgewählten Zeilen in die Tabelle mylib.shoes zu schreiben. Der erste DATA Step wird in SAS ausgeführt und erstellt eine Untermenge der Daten, wobei nur Zeilen ausgewählt werden, in denen der Umsatz größer oder gleich 500.000 $ ist. Die gefilterten Daten werden in die Ausgabetabelle mylib.shoes geladen. Der zweite DATA Step wird für die Tabelle mylib.shoes ausgeführt, um die Daten weiter zu untergliedern. Dieser DATA Step wählt nur Zeilen aus, in denen die Werte der Variablen Region "Canada" sind. Die ausgewählten Zeilen werden dann in die Ausgabetabelle mylib.shoes2 geschrieben.
Kopiert!
libname mylib ;
data mylib.shoes;
set sashelp.shoes;
where Sales>=500000;
run;
proc print data=mylib.shoes;
var Region Product Sales;
run;
data mylib.shoes2;
set mylib.shoes;
where Region="Canada";
run;
proc print data=mylib.shoes2;
var Region Product Sales;
run;
1
LIBNAME mylib ;
2
3
DATA mylib.shoes;
4
SET sashelp.shoes;
5
where Sales>=500000;
6
RUN;
7
PROC PRINTDATA=mylib.shoes;
8
var Region Product Sales;
9
RUN;
10
11
DATA mylib.shoes2;
12
SET mylib.shoes;
13
where Region="Canada";
14
RUN;
15
16
PROC PRINTDATA=mylib.shoes2;
17
var Region Product Sales;
18
RUN;
2 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel verwendet einen zusammengesetzten WHERE-Ausdruck, um eine Untermenge der Daten aus der Eingabetabelle mylib.shoes auszuwählen. Die CASUTIL-Prozedur lädt zuerst das SAS-Dataset sashelp.shoes in CAS. Der DATA Step wird dann in CAS ausgeführt, um bedingt Zeilen auszuwählen, in denen der Umsatz größer oder gleich 500.000 $ UND die Region "Canada" ist. Der zusammengesetzte WHERE-Ausdruck besteht aus zwei WHERE-Ausdrücken, die durch den AND-Operator verbunden sind.
Kopiert!
data mylib.shoes;
set mylib.shoes;
where Sales>=500000 and Region="Canada";
keep Region Product Sales;
run;
proc print data=mylib.shoes; run;
1
2
DATA mylib.shoes;
3
SET mylib.shoes;
4
where Sales>=500000 and Region="Canada";
5
keep Region Product Sales;
6
RUN;
7
8
PROC PRINTDATA=mylib.shoes; RUN;
3 Codeblock
DATA STEP Data
Erklärung : Im folgenden Beispiel wird der AND-Operator in der WHERE-Anweisung verwendet, um Zeilen basierend auf den Bedingungen für Alter und Geschlecht zu finden.
Kopiert!
data class;
set sashelp.class;
where sex="M" and age >= 15;
run;
proc print data=class;
run;
1
DATA class;
2
SET sashelp.class;
3
where sex="M" and age >= 15;
4
RUN;
5
PROC PRINTDATA=class;
6
RUN;
4 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel verwendet den OR-Operator, um Zeilen zu finden, die eine der beiden Bedingungen erfüllen.
Kopiert!
data class;
set sashelp.class;
where sex="M" or age>=15;
run;
proc print data=class;
title 'OR finds all Males and Anyone 15 Years or Older';
run;
1
DATA class;
2
SET sashelp.class;
3
where sex="M" or age>=15;
4
RUN;
5
PROC PRINTDATA=class;
6
title 'OR finds all Males and Anyone 15 Years or Older';
7
RUN;
5 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel verwendet das Kleiner-als-Symbol (<), um Zeilen zu finden, die die Kriterien für Alter und Geschlecht erfüllen.
Kopiert!
data class;
set sashelp.class;
where age < 15 and sex NE "M";
run;
proc print data=class;
title 'Finds Females
Older less than 15 Years';
run;
1
DATA class;
2
SET sashelp.class;
3
where age < 15 and sex NE "M";
4
RUN;
5
PROC PRINTDATA=class;
6
title 'Finds Females
7
Older less than 15 Years';
8
RUN;
6 Codeblock
DATA STEP Data
Erklärung : Die Reihenfolge, in der SAS Ausdrücke verarbeitet, die durch boolesche Operatoren verbunden sind, beeinflusst die Ausgabe. Die Standardreihenfolge der Operationen ist, NOT-Ausdrücke zuerst, dann AND-Ausdrücke und zuletzt OR-Ausdrücke zu verarbeiten.
Kopiert!
data class;
set sashelp.class;
where age>15 or height<60 and sex="F";
run;
proc print data=class;
title 'age > 15 OR height < 60 AND sex = F';
run;
1
DATA class;
2
SET sashelp.class;
3
where age>15 or height<60 and sex="F";
4
RUN;
5
PROC PRINTDATA=class;
6
title 'age > 15 OR height < 60 AND sex = F';
7
RUN;
7 Codeblock
DATA STEP Data
Erklärung : Verwenden Sie Klammern, um die Auswertungsreihenfolge zu steuern. Hier ist dasselbe Beispiel, außer dass Klammern verwendet werden, um festzulegen, dass der OR-Ausdruck zuerst ausgewertet wird, dann der AND-Ausdruck.
Kopiert!
data class;
set sashelp.class;
where (age>15 or height<60) and sex="F";
run;
proc print data=class;
title '(age > 15 OR height < 60) AND sex = F';
run;
1
DATA class;
2
SET sashelp.class;
3
where (age>15 or height<60) and sex="F";
4
RUN;
5
PROC PRINTDATA=class;
6
title '(age > 15 OR height < 60) AND sex = F';
7
RUN;
8 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel verwendet die Dataset-Option WHERE=, um Zeilen bedingt aus dem Dataset sashelp.shoes auszuwählen.
Kopiert!
data sales;
set sashelp.shoes(where=(Region="Canada" and Sales<2000));
run;
proc print data=sales; run;
1
DATA sales;
2
SET sashelp.shoes(where=(Region="Canada" and Sales<2000));
3
RUN;
4
PROC PRINTDATA=sales; RUN;
9 Codeblock
DATA STEP
Erklärung : Um den DATA Step so auszuführen, dass die Verarbeitung auf dem CAS-Server erfolgt, können Sie die Dataset-Option WHERE= für die Eingabetabelle in der SET-Anweisung angeben. Die Dataset-Option WHERE= wird für die Verarbeitung in CAS nur unterstützt, wenn sie für die Eingabe-CAS-Tabelle (in der SET-Anweisung) angegeben wird. Wenn Sie die Dataset-Option WHERE= für die Ausgabe-CAS-Tabelle angeben, erhalten Sie keine Fehlermeldung, wie das folgende Beispiel zeigt.
Kopiert!
/* Specify the WHERE= data set option on the output CAS
table (unsupported for CAS DATA step processing) */
data mylib.sales(where=(Region="Canada" and Sales<2000));
set mylib.shoes;
run;
proc print data=mylib.sales; run;
1
/* Specify the WHERE= data set option on the output CAS
2
table (unsupported for CAS DATA step processing) */
3
4
DATA mylib.sales(where=(Region="Canada" and Sales<2000));
5
SET mylib.shoes;
6
RUN;
7
PROC PRINTDATA=mylib.sales; RUN;
10 Codeblock
DATA STEP Data
Erklärung : Im folgenden Beispiel erstellt der erste DATA Step ein Ausgabe-Dataset, mybaseball, und die Option index= fügt der Variablen team einen einfachen Index hinzu. Der zweite DATA Step liest das Dataset und wählt nur Zeilen zur Verarbeitung aus, in denen der Teamname Atlanta ist.
Kopiert!
data mybaseball(index=(team));
set sashelp.baseball;
run;
data mybaseball;
set sashelp.baseball;
where Team="Atlanta";
keep Name Team Position;
run;
proc print data=mybaseball; run;
1
DATA mybaseball(index=(team));
2
SET sashelp.baseball;
3
RUN;
4
5
DATA mybaseball;
6
SET sashelp.baseball;
7
where Team="Atlanta";
8
keep Name Team Position;
9
RUN;
10
PROC PRINTDATA=mybaseball; 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.
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.