[SAS 고급] 데이터스텝의 Merge와 SQL Joins 프로시저 (DATA Step Merges and SQL Procedure Joins)
안녕하세요^^
이번 시간에는 공부할 내용은 다음과 같습니다.
DATA STEP의 MERGE문장을 사용하여 여러 개의 SAS 데이터셋을 결합하는 방법
SQL 프로시저를 사용하여 SAS 데이터셋을 공통의 변수 없이 JOIN하는 방법
DATA STEP의 MERGE와 PROC SQL의 결과의 차이
▶ 테이블 조회(Table Lookup)를 수행하기 위해 데이터를 가로로 결합하는 방법입니다
▷ DATA STEP의 MERGE와 PROC SQL join은 key column이나 특정 조건에 기초하여 행(row)을 일치시키는 방법으로 데이터셋을 가로로 결합합니다.
▷ DATA STEP은 데이터를 가로로 결합하는 여러가지 방법(MERGE, SET, UPDATE, MODIFY 등)을 제공합니다.
▷ 또한, SQL에도 몇 가지 타입의 SQL JOIN 방법이 있습니다.
▷ DATA STEP의 Merge에서, BY 변수는 Lookup Key로 지정합니다.
▷ SQL JOIN에서, WHERE 또는 ON 절의 변수가 Lookup Key가 됩니다.
▷ 주의해야할 사항은, DATA STEP의 Merge는 데이터셋이 Key columns으로 정렬되어있어야 합니다.
▶ 앞선 자료들에서 많이 다루었듯이, DATA STEP의 merge는 다음의 예시와 같이 간단하게 작업할 수 있습니다
▷ 예시는 orion.country 데이터와 orion.continent 데이터를 ContinentID변수를 기준으로 가로결합하는 문제입니다.
▷ 먼저, PROC SORT 프로시저를 사용하여 데이터를 정렬합니다. 참고로, 가로 결합할 두 데이터셋이 Key columns에 대해 모두 정렬되어있어야 합니다.
▷ DATA STEP의 merge 문장을 사용하고, Key columns를 BY 문장에 지정합니다,
▶ 이제 DATA STEP의 Merge와 PROC SQL의 JOIN을 비교하며 살펴보겠습니다.
▷ DATA STEP의 Merge와 PROC SQL의 inner join은 같은 결과를 생성할 수 있습니다.
이상으로 DATA STEP의 MERGE와 PROC SQL의 JOIN방법에 대해 알아보았습니다.
감사합니다^^
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.