기초통계분석 실전 튜토리얼: SAS EG 시작하기

[컴퓨터월드]

▲ 김소연 SAS 커스터머케어(Customer Care)팀 수석

1. SAS EG 시작하기 - 데이터를 SAS 데이터셋으로 가져오기  <이번호>
2. 데이터 분석 첫 걸음 - 데이터 합하기, 파생변수 만들기
3. 데이터 가공 및 분석(1) - 요약 통계량, 요약 테이블
4. 데이터 가공 및 분석(2) - 리포트, 통계 분석, 상관 분석
5. 데이터 시각화 분석(1) - SAS 비주얼 애널리틱스 데이터 탐색
6. 데이터 시각화 분석(2) - SAS 비주얼 애널리틱스 리포트 디자인


연재를 시작하며

데이터 분석은 어느덧 기업 경영의 필수요소로 자리 잡고 있다. 경험과 직관에 의지했던 비즈니스 의사결정이 데이터 분석 기반으로 변화하면서 분석에 대한 요구는 많아지고 있다. 하지만 실제 분석환경은 녹록치 않고, 여전히 분석은 어렵고 복잡하게만 느껴진다. 실제로 기업 내부 데이터들은 다양한 형태로 존재하고, 분석가도 부족하며, 기업 환경에 적합한 분석도구조차 부족한 현실이다.

이번 강좌에서는 ‘SAS 엔터프라이즈 가이드(SAS Enterprise Guide)’를 이용해 엑셀과 텍스트 등 다양한 형태의 내부 데이터를 쉽고 빠르게 가져와 SAS 데이터셋에서 데이터를 핸들링하고, 통계분석 및 리포트 작업을 위저드 기반으로 간편하게 분석하는 방법을 보여주고자 한다. 그리고 동일한 데이터를 시각화 도구인 ‘SAS 비주얼 애널리틱스(SAS Visual Analytics)’를 활용한 시각적 분석을 통해 새로운 인사이트를 찾아보고자 한다.


분석 데이터 소개

이번 연재에서 분석에 사용할 데이터는 ‘Insight Toy’라는 가상 장난감 회사의 재무, 제품, 채널에 관련된 가상 데이터다.

 

데이터는 엑셀과 텍스트 형태가 있는데, 엑셀 파일에는 ‘TOY_PROD(EU)’와 ‘TOY_PROD(NA)’ 2개 시트가 있으며 매출정보, 제품정보, 지역정보를 포함하고 있다.

 

두 번째 소스 데이터인 텍스트 파일 ‘TOY_SALES’는 장난감 영업 관련 데이터로, 영업대표 정보, 지역별 위도·경도 정보, 제조시설 정보 등을 포함하고 있다.


분석 시나리오 개요

앞서 소개한 엑셀과 텍스트 데이터를 기반으로 다양한 분석을 해보기에 앞서, 분석 시나리오를 간단히 살펴보자. 이 시나리오는 조금 뒤부터 상세히 소개할 분석 프로세스와도 동일하다.

1) 라이브러리 할당하기

SAS에서 분석을 하기 위해서는 라이브러리 설정이 필수다. 라이브러리란 SAS에서 데이터를 가져오거나 생성한 데이터를 저장하기 위해 일종의 경로(path)를 지정해주는 별칭(alias)이다. 임시 라이브러리와 영구 라이브러리의 두 가지가 있으며, 임시 라이브러리는 현재 사용 중인 프로젝트 내에서만 임시적으로 사용되므로 프로젝트를 나가게 되면 사라지는 휘발성 라이브러리다. 때문에 모든 분석 작업 시 SAS 데이터셋 저장이 필요하다면 영구 라이브러리를 지정해 이용하는 것이 효율적이다.

2) 데이터 가져오기

라이브러리를 할당한 다음에는 엑셀, 텍스트 등 다양한 형태의 데이터를 클릭 또는 드래그해서 가져온다.

3) 질의 빌더

앞서 언급한 것처럼 사용할 소스 데이터가 엑셀과 텍스트 형태이므로, 각각의 데이터를 SAS로 가져온 후 복수개의 SAS 데이터를 하나의 테이블로 생성하는 작업이 필요하다. 이때 ‘질의 빌더’ 기능을 이용해 하나의 마스터 테이블을 만든다.

분석을 하다보면 기존에 갖고 있던 정보만을 사용해 분석하기보다는 기존의 정보를 이용해 새로운 정보를 만들어야 할 필요도 있다. 예를 들어, 생년월일을 이용해 나이를 산출하거나 나이를 이용해 연령대를 산출하는 등이다. 따라서 이 같은 파생변수를 생성해보는 작업도 함께 소개할 계획이다.

4) 요약 통계량

분석을 위한 하나의 테이블 즉, 추가적인 파생변수가 생성되면 분석하고자 하는 다양한 뷰로 분석을 하게 된다. 가장 기본적인 데이터 내 변수들의 빈도나 분포를 분석하고, 숫자형 변수에 대한 통계량과 분포도 파악해본다.

5) 요약 테이블

변수 하나하나에 대한 분포가 어느 정도 파악된 다음에는 변수들의 기술 통계량을 행과 열 구조의 형태로 요약해 매트릭스 형태의 리포트를 생성할 필요도 있다. 이 작업을 ‘요약 테이블’이라고 한다. 이번 학습에서는 이 요약 테이블도 작성해보겠다.

6) 시각적 탐색

통계량과 테이블을 이용해 분석한 다음에는 그래프를 이용한 탐색도 해볼 계획이다. 하나의 변수나 복수개의 변수를 이용해 여러 그래프 탐색을 진행하고 결과 리포트를 공유해보겠다. 그리고 ‘SAS 비주얼 애널리틱스’를 이용해 앞에서 사용한 동일한 데이터를 다양한 시각화 형태로 탐색해보고 리포트를 생성해본다.


라이브러리 할당하기

서두에서 언급했듯 분석에 사용할 데이터는 가상 장난감 회사 ‘Insight Toy’사의 재무, 제품, 채널 등에 관련된 데이터다. 가져올 데이터 즉, 소스 데이터는 엑셀과 텍스트 형태로 나뉘어있다. 따라서 각기 다른 형태의 소스 데이터를 가져와 파생변수를 만들고 분석해보겠다.

메뉴 이용해 라이브러리 설정하기

‘SAS 엔터프라이즈 가이드’에서 분석 작업을 수행하기 전에 먼저 데이터를 저장해야 한다. 그리고 데이터를 저장하기 위해서는 라이브러리를 설정해야 한다. 두 가지 방식(메뉴, 프로그램)으로 라이브러리를 설정할 수 있는데, 여기서는 메뉴 방식으로 라이브러리를 설정해보겠다.

 

‘도구’에서 ‘프로젝트 라이브러리 할당’을 클릭하면 현재 연결돼있는 서버에서 라이브러리를 설정할 수 있다. 설정하려는 라이브러리명을 입력하고 경로를 지정한 다음, ‘라이브러리 테스트’ 버튼을 클릭해 잘 실행될 수 있는 형태인지 검증한 후, ‘마침’ 버튼을 눌러 라이브러리를 생성한다.

 

실행이 완료되면 로그에서 라이브러리가 할당된 것을 확인할 수 있고, ‘코드’에서 생성된 코드를 볼 수 있다.

코드 수정해 라이브러리 설정하기

 

한편, 생성된 코드를 일부 수정하기 위해서는 ‘코드’ 화면에서 엔터를 치고, ‘이 코드는 읽기 전용입니다. 수정 가능한 사본을 생성하시겠습니까?’라는 팝업창에서 ‘예’를 선택해 사본을 생성(코드를 복사해 수정) 한다.

 

새로운 라이브러리 구문만을 선택한 후 F3을 누르면 선택된 문장만 실행돼 새로운 라이브러리 ‘ex_data1’가 생성된 것을 확인할 수 있다.

 

F4를 누르면 다시 작업공간으로 돌아간다. 이것으로 라이브러리가 설정됐다.

 


데이터 가져오기

앞에서도 언급했듯 우리가 분석할 데이터는 ‘toy_prod’라는 엑셀 데이터셋이다. 엑셀에는 EU와 NA 지역의 데이터가 각기 다른 시트로 존재한다. 이번 분석에서는 이 두 개의 데이터와 ‘toy_sales’라는 텍스트 데이터를 사용한다.

엑셀 데이터 가져오기

라이브러리를 설정했다면 이제 사용할 데이터를 SAS 데이터셋으로 가져와야 한다. ‘파일-열기-데이터’를 선택하거나 ‘데이터 가져오기’로 바로 가져올 수 있다. 또 실제 데이터를 드래그해서 가져올 수도 있다.

 

위 그림은 세 가지 방식 중 하나를 선택해 엑셀 데이터를 가져온 화면이다. 보는 것처럼 읽어올 데이터는 엑셀 데이터이며, SAS 데이터셋으로 저장할 데이터의 라이브러리와 데이터셋 이름을 지정해줘야 한다.

 

이름을 지정하기 위해서는 ‘찾아보기’를 클릭해 앞에서 설정한 라이브러리를 선택, 라이브러리에 실제 저장될 이름으로 입력한다.

 

‘Toy_prod’라는 엑셀에서 ‘EX_DATA’라는 라이브러리에 ‘toy_prod_eu’라는 테이블로 ‘다음’ 버튼을 눌러 저장해보겠다.

 

가져온 엑셀 시트에는 전에 본 것처럼 EU와 NA 두 개의 시트가 있다. 먼저 EU 데이터를 가져와보자. 체크돼있는 것처럼 ‘범위의 첫 번째 행은 필드 이름 포함’을 선택하고 ‘다음’ 버튼을 누르면, 메타데이터를 읽어서 각 테이블명과 데이터의 형식을 가져온다. 데이터의 다양한 ‘형식’을 쉽게 변환할 수도 있다.

 

‘다음’을 누르면 데이터를 가져오는 마지막 옵션창이 나온다. 여기서는 ‘생성된 SAS코드에 데이터를 삽입합니다’, ‘가능한 경우 SAS/ACCESS Interface to PC Files를 이용해 데이터를 가져옵니다’, ‘전송 오류를 일으킬 수 있는 문자를 텍스트 기반 데이터 파일에서 제거합니다’ 등 옵션을 선택할 수 있다. 이번에는 옵션을 선택하지 않고 진행하겠다.

 

다음과 같이 엑셀 데이터 두 개의 시트 EU 데이터가 SAS 데이터셋으로 변환된 것을 확인할 수 있다.

 

이번에는 동일한 ‘Toy_prod’ 엑셀 데이터에서 NA 지역의 데이터를 가져와보자. ‘데이터 가져오기’를 선택하고 ‘찾아보기’를 클릭해 데이터셋 라이브러리를 설정한다. ‘toy_prod_na’라는 이름으로 파일명을 정하고, ‘저장’ 버튼을 눌러 ‘데이터 저장’ 단계를 마치고 다음을 선택한다.

 

워크시트는 ‘NA’를 지정하고, 데이터가 처음부터 존재하기 않았기 때문에 ‘워크시트 내에서 특정 셀 범위 사용’을 체크한다. 체크를 하면 C3부터 O30589까지의 데이터를 가져온다는 것을 확인할 수 있다. 그리고 ‘범위의 첫 번째 행은 필드 이름 포함’을 확인하고, ‘다음’ 버튼을 누른다.

 

엑셀에서 가져온 데이터셋을 보면 레이블명을 모두 가져온 것을 확인할 수 있다.

 

‘다음’ 버튼을 눌러 옵션을 선택하지 않고, ‘마침’ 버튼을 눌러 마친다. 다음과 같이 가져온 NA 지역의 데이터셋을 확인할 수 있다.

 

이로써 엑셀 데이터를 쉽고 간편하게 두 가지 형태의 데이터셋으로 만들었다.

 

텍스트 데이터 가져오기

이번에는 ‘Toy_sales’라는 텍스트 데이터를 가져와보자. 텍스트 데이터는 엑셀과 마찬가지로 드래그해서 데이터를 확인할 수 있다. 데이터를 확인한 후 창을 닫고, ‘데이터 가져오기’를 선택해 SAS 데이터셋으로 변환한다.

 

데이터를 가져온 다음에는 ‘찾아보기’를 클릭해 데이터를 저장할 라이브러리를 설정한다. 여기서는 텍스트 파일과 동일한 ‘toy_sales’로 파일명을 저장한다.

 

저장한 파일을 보면 텍스트 형태로 된 데이터를 볼 수 있고, ‘구분자 필드’가 쉼표 형태로 돼있다. ‘다음’ 버튼을 누르면 텍스트 데이터도 메타데이터를 읽어서 데이터의 형태와 형식을 가져오게 된다. ‘다음’을 누르고 옵션에서 ‘마침’을 클릭한다.

 


이번 학습에서는 ‘SAS 엔터프라이즈 가이드’에서 분석 작업을 수행하기 전에 가장 먼저 해야 할 작업 즉, 분석 대상이 되는 엑셀 데이터와 텍스트 데이터를 SAS 데이터셋으로 저장하기 위한 라이브러리를 설정하고, 사용할 데이터를 SAS 데이터셋으로 가져오는 방법을 알아봤다. 이를 통해 엑셀 데이터, 텍스트 데이터 등 데이터 형태에 상관없이 그 어떤 데이터도 클릭 또는 드래그해서 쉽고 빠르게 가져올 수 있다는 것을 확인했다.

다음 학습에서는 SAS 데이터셋으로 가져온 엑셀 데이터와 텍스트 데이터를 하나로 합하고, 분석을 위해 다양한 파생변수를 생성하는 방법을 소개하고자 한다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지