BookmarkSubscribeRSS Feed

[SAS 고급] 데이터스텝의 Merge와 SQL Joins 프로시저 (DATA Step Merges and SQL Procedure Joins)

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 321

[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)를 수행하기 위해 데이터를 가로로 결합하는 방법입니다

 

SE22017061822523670.png

 

▷ DATA STEP의 MERGE와 PROC SQL join은 key column이나 특정 조건에 기초하여 행(row)을 일치시키는 방법으로 데이터셋을 가로로 결합합니다.

 

SE22017061822530270.png

▷ DATA STEP은 데이터를 가로로 결합하는 여러가지 방법(MERGE, SET, UPDATE, MODIFY 등)을 제공합니다. 

 

SE22017061822531270.jpg

▷ 또한, SQL에도 몇 가지 타입의 SQL JOIN 방법이 있습니다. 

 

 

SE22017061822535270.jpg

 

▷ 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변수를 기준으로 가로결합하는 문제입니다.

 

SE22017061822543370.jpg

 

SE22017061822544570.jpg

 

▷ 먼저, PROC SORT 프로시저를 사용하여 데이터를 정렬합니다참고로가로 결합할 두 데이터셋이 Key columns에 대해 모두 정렬되어있어야 합니다.

▷ DATA STEP의 merge 문장을 사용하고, Key columns를 BY 문장에 지정합니다, 

 

 

▶ 이제 DATA STEP의 Merge와 PROC SQL의 JOIN을 비교하며 살펴보겠습니다.

 

SE22017061822551070.jpg

 

▷ DATA STEP의 Merge와 PROC SQL의 inner join은 같은 결과를 생성할 수 있습니다.

 

 225_1.png225_2.png225_3.png225_4.png225_5.png

 

 

이상으로 DATA STEP의 MERGE와 PROC SQL의 JOIN방법에 대해 알아보았습니다.

 

감사합니다^^

 

 

 

 

 

Version history
Last update:
‎06-17-2020 04:37 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

Article Labels
Article Tags