Sas: як використовувати except у proc sql


Ви можете використовувати оператор EXCEPT у операторі SQL PROC у SAS, щоб повернути лише рядки в одному наборі даних, яких немає в іншому наборі даних.

У наступному прикладі показано, як на практиці використовувати оператор EXCEPT .

Приклад: використання EXCEPT у PROC SQL у SAS

Припустімо, що в SAS є такий набір даних, який містить інформацію про різних баскетболістів:

 /*create first dataset*/
data data1;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
At 20
At 22
;
run ;

/*view first dataset*/
proc print data =data1;

І припустімо, що у нас є інший набір даних у SAS, який також містить інформацію про різних баскетболістів:

 /*create second dataset*/
data data2;
    input team $points;
    datalines ;
AT 12
At 14
B23
B25
B29
B 30
;
run ;

/*view second dataset*/
proc print data =data2; 

Ми можемо використовувати оператор EXCEPT в операторі SQL PROC , щоб повернути лише ті рядки з першого набору даних, яких немає в другому наборі даних.

 /*only return rows from first dataset that are not in second dataset*/
proc sql ;
   title 'data1 EXCEPT data2';
   select * from data1
   except
   select * from data2;
quit ; 

Зверніть увагу, що повертаються лише рядки з першого набору даних, які не належать до другого набору даних.

Ми також можемо використовувати оператор EXCEPT , щоб повернути лише рядки з другого набору даних, яких немає в першому наборі даних:

 /*only return rows from second dataset that are not in first dataset*/
proc sql ;
   title 'data2 EXCEPT data1';
   select * from data2
   except
   select * from data1;
quit ; 

Зауважте, що повертаються лише рядки з другого набору даних, які не належать до першого набору даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

SAS: як використовувати UNION у PROC SQL
SAS: як використовувати Proc Univariate за групою
SAS: Як використовувати вміст Proc

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *