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