/****************************************************************************** * Programme : Optimisation SAS : Boostez vos filtres WHERE avec les index et le moteur CAS * Reference : EXEMPLAC7F * Source : https://www.wearecas.eu/en/sampleCode/EXEMPLAC7F ******************************************************************************/ /* --- BLOC 1 --- */ 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; /* --- BLOC 2 --- */ data mylib.shoes; set mylib.shoes; where Sales>=500000 and Region="Canada"; keep Region Product Sales; run; proc print data=mylib.shoes; run; /* --- BLOC 3 --- */ data class; set sashelp.class; where sex="M" and age >= 15; run; proc print data=class; run; /* --- BLOC 4 --- */ 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; /* --- BLOC 5 --- */ 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; /* --- BLOC 6 --- */ 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; /* --- BLOC 7 --- */ 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; /* --- BLOC 8 --- */ data sales; set sashelp.shoes(where=(Region="Canada" and Sales<2000)); run; proc print data=sales; run; /* --- BLOC 9 --- */ /* 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; /* --- BLOC 10 --- */ 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;