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


Ви можете використовувати оператор UNION в інструкції PROC SQL у SAS, щоб об’єднати два набори даних по вертикалі.

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

Приклад: використання UNION у 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; 

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

 /*combine tables vertically and only keep unique rows*/
proc sql ;
   title 'data1 UNION data2';
   select * from data1
   union
   select * from data2;
quit ; 

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

Ми також можемо використовувати оператор UNION ALL в операторі PROC SQL , щоб об’єднати ці два набори даних по вертикалі та зберегти всі рядки:

 /*combine tables vertically and keep all rows*/
proc sql ;
   title 'data1 UNION ALL data2';
   select * from data1
   union all
   select * from data2;
quit ; 

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

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

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

Як розрахувати Z-бали в SAS
Як використовувати зведення процедур у SAS
Як обчислити середнє, медіану та моду в SAS

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

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