Sas: 두 변수를 기반으로 데이터 세트를 병합하는 방법
다음 기본 구문을 사용하여 두 변수의 일치를 기반으로 SAS에서 두 데이터 세트를 병합할 수 있습니다.
data final_data;
merge data1(in=a) data2(in=b);
by ID Store;
if a and b;
run ;
이 특정 예에서는 ID 및 Store 라는 변수를 기반으로 data1 및 data2 라는 데이터 세트를 병합하고 두 데이터 세트 모두에 값이 존재하는 행만 반환합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: 두 변수를 기반으로 SAS에서 데이터 세트 병합
회사의 영업사원에 대한 정보가 포함된 다음과 같은 데이터세트가 SAS에 있다고 가정해 보겠습니다.
/*create first dataset*/
data data1;
inputStoreID $;
datalines ;
1A
1B
1 C
2A
2C
3A
3 B
;
run ;
/*view first dataset*/
title "data1";
proc print data = data1;
그리고 각 직원이 서로 다른 매장에서 판매한 매출에 대한 정보가 포함된 또 다른 데이터세트가 있다고 가정해 보겠습니다.
/*create second dataset*/
data data2;
input Store ID $Sales;
datalines ;
1 to 22
1 B 25
2 to 40
2 B 24
2 C 29
3 to 12
3 B 15
;
run ;
/*view second dataset*/
title "data2";
proc print data = data2;
다음 병합 문을 사용하여 ID 및 Store 열의 일치하는 값을 기반으로 두 데이터 세트를 병합한 다음 두 열 모두에 값이 존재하는 행만 반환할 수 있습니다.
/*perform merge*/
data final_data;
merge data1(in=a) data2(in=b);
by ID Store;
if a and b;
run ;
/*view results*/
title "final_data";
proc print data =final_data;
결과 데이터세트는 ID 와 Store 열 값이 일치하는 행을 반환합니다.
참고 : 여기에서 SAS 병합 문에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
SAS: 일대다 병합을 수행하는 방법
SAS: 병합 문에서 (in=a)를 사용하는 방법
SAS: A가 B가 아닌 경우 병합하는 방법