사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS Enterprise Guide
Enterprise Guide를 이용한 Market Analysis (2) 2018.12.02
전보배 46 0
http://www.mysas.co.kr/sas_tiptech/i_eg.asp?b_no=11005&cmd=content&bd_no=28

준비


 

지난 시간 분석을 위한 data set을 모두 준비했습니다.

 

출판업계 전체(publishing_market_kr)DMR 출판사(dmr_customer_base_kr)의 수익 관련 data set 두 가지 였습니다.

 

오늘은 그 data set이 있는 곳을 라이브러리로 잡아 주면 모든 준비가 완성 됩니다. , 물론 두 data set이 같은 폴더에 담아져 있어야겠지요?

 

저는 아래 [그림 2-1]과 같이 “D:\TEMP\DMR_전략팀에 두 data set이 모두 저장되어 있어서 그곳을 “MKT”라는 라이브러리로 잡았습니다.


 

[그림 2-1]  

 

 

 

[그림 2-2] 

`

 

여러분도 라이브러리 할당 후 서버리스트를 확인 하시면, 두 개의 data set 보실 수 있습니다.

 

publishing_market_kr” data set을 열어보시면, 아래 [그림 2-3] 같은 sas data set을 확인 하실 수 있습니다.


 

[그림 2-3]  

  

 

“dmr_customer_base_kr” data set도 위 [그림 2-3] 과 같은 형태로 요약을 하여 두 data set을 하나의 data set으로 병합하여 비교하려고 합니다.

 

 

 

 

JOIN 이란?


 

여기에서 병합에 대해서 설명 드리겠습니다. data set을 합치기 위해서는 무엇을 기준으로 병합할 것인지가 중요합니다. 이 병합을 “join” 또는 “merge”라고 합니다.

 

예를 들어, 아래 두 테이블을 JOIN 하기로 합니다. (내용은 NAVER에서 검색한 결과 입니다... 사실 과는 다를지도 모르겠습니다 ^^;;;;)


 

[그림 2-4]



 

 

이름을 기준으로 JOIN을 하실 때에 가장 많이 쓰이는 JOIN은 아래와 같습니다.


 

[그림 2-5]



 

 

INNER JOIN 은 두 테이블에서 기준이 되는 이름이 동시에 존재하는 경우만 가져옵니다. 그래서 김태희와 아이유의 정보만 가져왔습니다.


 

[그림 2-6]



 

 

RIGHT JOIN은 두 테이블에서 오른쪽 테이블의 이름을 기준으로 왼쪽 테이블 정보를 가져옵니다그래서 김우빈의 생년월일은 빈 값으로 나옵니다.


 

[그림 2-7]



 

 

LEFT JOIN은 두 테이블에서 왼쪽 테이블의 이름을 기준으로 오른쪽 테이블 정보를 가져옵니다.그래서 강동원의 키와 몸무게는 빈 값으로 나옵니다.


 

[그림 2-8]



 

 

FULL OUTER JOIN은 두 테이블의 모든 이름을 기준으로 정보를 가져옵니다. 그래서 네 사람의 정보가 모두 들어와 있습니다.

 

 

 

“JOIN”에 대하여 조금 이해가 되시나요? 그러면 저희가 가지고 있는 두 개의 data set을 병합하기 위해서는 양쪽 data set 모두에 존재하는 기준이 필요합니다. 예시에서는 그것이 이름이었습니다. 저희가 분석할 data set에서는 성별연령대가 동시에 같을 때, 병합하려고 합니다. , 기준이 성별”, “연령대두 개가 되는 것입니다.


 

그런데publishing_market_kr”에는 성별”, “연령대가 있지만, “dmr_customer_base_kr”에는 성별만 존재합니다. , “dmr_customer_base_kr”를 가지고 연령대라는 칼럼을 새로 만들어야 합니다.


 

심지어 그냥 만드는 것에서 끝나지 않습니다. publishing_market_kr” 자체가 성별연령대기준으로 구독자수, 수익, 구독부수를 합해 놓은 data이므로, “dmr_customer_base_kr”성별연령대를 기준으로 다른 변수들을 요약해야 합니다.


 

다시 말하자면,

 

data set을 놓고 비교를 하려고 하니, 병합을 해야 한다.

 

병합을 하려면, data set에 같은 기준이 필요하다.

 

③ “dmr_customer_base_kr”연령대칼럼을 만들고,

 

④ “성별”, “연령대기준으로 요약 합계를 하여 같은 기준을 만들겠다.

 

라는 것입니다. 이해 되시나요?

 

 

 

 

 

새로운 칼럼 생성

 

, 그러면 “dmr_customer_base_kr”연령대를 만들러 가겠습니다.

 

서버리스트를 열어 “MKT. dmr_customer_base_kr”을 선택하시고, 질의빌더를 들어갑니다.

 

질의빌더 오른쪽에 파란 계산기 아이콘 기억하시죠? [새로운 계산 칼럼 추가]를 클릭하겠습니다.


 

[그림 2-9] 

 

 

[그림 2-10]



 

 

나이칼럼이 21세 보다 작거나 같을 때에는 "18세 이상 21세 이하"
21
세 보다 크고 25세 보다 작거나 같을 때에는 "18세 이상 21세 이하"
25
세 보다 크고 30세 보다 작거나 같을 때에는 "26세 이상 30세 이하"
30
세 보다 크고 40세 보다 작거나 같을 때에는 "31세 이상 40세 이하"
40
세 보다 크고 50세 보다 작거나 같을 때에는 "41세 이상 50세 이하"
50
세보다 크면 "51세 이상" 이라고 쓰고, 그 외에는 다 빈칸으로 하는 “age_grp” 라는 칼럼을 생성하려고 합니다.


 

, 이제 크게 숨을 들이쉬었다가 내쉬고, 타이핑을 해보도록 하겠습니다.


 

물론 “t1.AGE” 대신, “AGE”라고 쓰셔도 상관 없습니다. 그리고 “le” 대신 “<=” 부호를 쓰셔도 무방합니다. 하지만, 그 외에 다른 문법은 점 하나, 빈칸 하나 조심조심 쓰셔야 합니다.


 

case when t1.AGE le 21 then "18세 이상 21세 이하"
     when t1.AGE le 25 then "18
세 이상 21세 이하"
     when t1.AGE le 30 then "26
세 이상 30세 이하"
     when t1.AGE le 40 then "31
세 이상 40세 이하"
     when t1.AGE le 50 then "41
세 이상 50세 이하"
     when t1.AGE ge 51 then "51
세 이상" else "" end


 

라고 정확하게 타이핑 해주셔야 합니다.

 

 

 

[그림 2-11]



 

 

칼럼 이름과 레이블을 설정하신 다음에 [마침] 버튼을 클릭하겠습니다.

 

 

 

[그림 2-12]



 

 

[그림 2-12] 과 같이 좌측 박스에서 출력하고자 하는 칼럼들도 쓱 가져오겠습니다.

 

그리고, 맨 윗줄의 [질의 이름]연령대[출력 이름]“WORK.DMR_AGE_GRP”로 재설정 하겠습니다.

 

, 이제 용감하게 [실행] 버튼을 클릭해 볼까요?

 

 

 

[그림 2-13]



 

 

[그림 2-13] 과 같은 결과가 나왔다면 아주 훌륭하게 해내신 겁니다.

 

혹시 중간에 [그림 2-14]과 같은 팝업 창을 발견하셨나요?

 

 

 

[그림 2-14]



 

 

당황하시지 마시고, [] 버튼을 클릭한 후 로그를 확인하겠습니다.

 

 

 

[그림 2-15]



 

코드를 잘 모르셔도, 영어를 잘 모르셔도 됩니다. 빨간 글씨로 된 ERROR 부분을 확인하시면, “t1AGE” 부분이 잘 못 되었다고 나옵니다. , 바로 점 하나가 빠져서 에러가 났습니다.

 

아마 여러분의 에러들도 이렇게 작은 부분일 겁니다. 눈을 가늘게 뜨시고 꼭 에러를 스스로 찾아 보시기 바랍니다. 에러에 용감해 질수록 여러분의 실력도 늘어날 것입니다.

 

에러를 찾으셨다면, 로그 창을 닫으시고 “age_grp” 칼럼을 더블 클릭 합니다.

 

 

 

[그림 2-16]



 

 

표현식 하단에 있는 [편집] 버튼을 누르시면, 수정하실 수 있습니다.

 

 

 

[그림 2-17]



 

 

저는 빠진 점을 추가했습니다. 하단에 [다음] 버튼을 누른 후, 다음 페이지 하단의 [마침] 버튼을 클릭합니다.

 

 

 

[그림 2-18]



 

 

점 하나가 다시 들어 온 것을 확인 하고, [확인] 버튼을 누릅니다. 저는 더 이상 경고 팝업 창이 뜨지 않았습니다. 혹시 다시 경고 창이 떴다면, 위 과정을 반복하시면 됩니다.

 

 

 

다음 시간에는 JOIN을 실제로 해보려고 합니다. 실무에서 굉장히 많이 쓰이는 중요한 기능이기 때문에 이번 시간에 이론을 미리 설명 드렸습니다.

 

 

 

egp 저장 하시고, 실습을 마치시기 바랍니다 ^^



 

 

 

오늘까지 작업한 EGP를 다운로드 하실 수 있습니다.
저는 SAS Enterprise Guide 7.1, Local 환경에서 작업했습니다.
하위 버전이거나서버환경 일 경우 실행이 되지 않으실 수 있으니 참고 바랍니다.
물론 같은 버전같은 환경이어도라이브러리 디렉토리(D:\TEMP\DMR_전략팀)가 다르거나 불러오기 파일 위치(D:\Trea_SYSOP\Enterprise Guide를 이용한 Business Analytics)가 다르면 실행되지 않습니다.

 

 

 

참조 : [Business Analytics Using SAS Enterprise Guide and SAS Enterprise Miner: A Beginner's Guide]  

 
 
 
휴대폰 번호
휴대폰 인증번호
 

 더 이상 글이 존재하지 않습니다.

 Enterprise Guide를 이용한 Market Analysis (1)