이번 게시글을 통해서 다양한 상황에 맞게 데이터를 그룹화하고, 각 클래스별로 세부적인 보고서를 작성하는 방법을 알 수 있습니다.
이를 통해 데이터를 효과적으로 분석하고 직관적으로 보고소를 작성하는데 필요한 기술을 익힐 수 있습니다.
활용할 데이터는 'SAS 실전 활용 가이드 1' 에서 다운 받을 수 있습니다.
#1. 데이터 Import
PROC IMPORT
DATAFILE='C:/sales.xlsx'
DBMS=XLSX
REPLACE
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
이번 게시글을 통해서 다양한 상황에 맞게 데이터를 그룹화하고, 각 클래스별로 세부적인 보고서를 작성하는 방법을 알 수 있습니다.
이를 통해 데이터를 효과적으로 분석하고 직관적으로 보고소를 작성하는데 필요한 기술을 익힐 수 있습니다.
활용할 데이터는 'SAS 실전 활용 가이드 1' 에서 다운 받을 수 있습니다.
#1. 데이터 Import
PROC IMPORT
DATAFILE='C:/sales.xlsx'
DBMS=XLSX
REPLACE
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
SALES 데이터는 칼럼은 21개, 전체 행은 2999개의 데이터로 구성되어 있습니다.
21개의 칼럼 중에 Province 라는 칼럼이 있습니다. (Province 칼럼은 '주' 또는 '도'를 의미하는 단어로 특정 국가 내에서 행정 구역을 나타내는 용어입니다. ) Province 칼럼에는 Alberta, Ontario 등 다양한 지역을 구분하는 행정 단위 데이터가 있습니다.
#2. 데이터 그룹화 1
이번에는 Province 변수를 기준으로 데이터를 그룹화하여 각 지역별로 분석을 진행하려고 합니다.
proc print data = sale (obs = 20); run;
proc sort data = sale;
by province;
run;
# 3. 데이터 그룹화 2
PROC PRINT DATA = WORK.SALE noobs;
var sales shipping_cost profit;
where shipping_cost>10;
format profit dollar9.2;
title 'Province 별로 비싼 배송비를 지불한 주문 사례';
sum profit;
by province;
RUN;
위 코드는 'SAS 실전 활용 가이드2; 글에서 'BY Provine'를 추가한 코드로 Province 별로 그룹화하여 출력하는 statement 입니다. 각각의 그룹에 대해 개별적으로 출력합니다.
BY statement 를 사용할 때는 데이터가 미리 정렬 되어 있어야합니다.
⁞
# 4. 데이터 그룹화 3 + ID statement
PROC PRINT DATA = WORK.SALE noobs;
var sales shipping_cost profit;
where shipping_cost>10;
format profit dollar9.2;
title 'Province 별로 비싼 배송비를 지불한 주문 사례';
sum sales profit;
by province;
id province;
RUN;
바로 위 #3 코드에서 ID statement 를 추가한 코드로 출력에서 각 행의 식별자로 사용할 변수를 같이 출력할 때 사용됩니다. 주로 BY 구문을 사용하여 데이터를 그룹화한 후에 사용됩니다.
⁞
# 3. 데이터 그룹화 2 와 비교해보면 출력 레포트에서 Province 변수를 각 행의 식별자로 사용한 것을 확인할 수 있습니다.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!