BookmarkSubscribeRSS Feed

PROC TABULATE

Started Saturday by
Modified Saturday by
Views 42

PROC TABULATE는 요약통계에 유용한 프로시저입니다.

  • 다차원 표 생성

  • 다양한 통계량 - 빈도(N), 평균(MEAN), 표준편차(STD), 합계(SUM), 백분율(PCTN) 등을 한번에 계산할 수 있습니다.

  • 직관적인 보고서 출력 가능

■ PROC TABULATE 기본 SYNTAX

 

PROC TABULATE data=데이터셋 옵션들;
    CLASS 범주형변수들;    
    VAR 연속형변수들;      
    TABLE 행차원, 열차원;   
RUN;

 

sales 라는 데이터를 활용해 PROC TABULATE 구문에 대해서 알아보겠습니다.

사용예제는 Sales 라는 데이터로 2,999개의 행과 21개의 칼럼으로 되어있습니다.

칼럼은 다음과 같습니다.

  • Row_ID – 데이터 행 고유번호

  • Order_ID – 주문 고유번호

  • Order_Date – 주문 날짜

  • Order_Quantity – 주문 수량

  • Sales – 매출액

  • Discount – 할인율

  • Ship_Mode – 배송 방식 (예: Regular Air)

  • Profit – 이익

  • Unit_Price – 단가

  • Shipping_Cost – 배송비

  • Customer_Name – 고객명

  • Province – 고객의 주/지역

  • Customer_Segment – 고객 세그먼트 (예: Consumer, Corporate, Home Office)

  • Product_Category – 제품 카테고리 (예: Furniture, Office Supplies 등)

  • Product_Sub_Category – 세부 제품 카테고리

  • Product_Name – 제품명

  • Product_Container – 제품 포장 단위 (예: Small Box, Medium Box 등)

  • Product_Base_Margin – 기본 마진율

  • Ship_Date – 배송일

  • customer_id – 고객 ID

  • product_id – 제품 ID

 

■ 예제1

 

FILENAME REFFILE '/home/u45061472/sales.xlsx';

PROC IMPORT DATAFILE=REFFILE
	DBMS=XLSX
	OUT=WORK.SALES ;
	GETNAMES=YES;
RUN;

PROC CONTENTS DATA=WORK.SALES; RUN;

PROC TABULATE DATA = WORK.SALES;
CLASS PROVINCE;
TABLE PROVINCE;
RUN;

 

image.png

 

 

  • FILENAME: 엑셀 파일 위치를 'REFILE'이라는 구문을 사용해서 지정하고 'sales.xlsx.라는 데이터를 로드할 수 있게 SAS 내 경로를 설정합니다.

  • PROC IMPORT: 엑셀 파일을 SAS 데이터셋으로 변환합니다.

PROC IMPORT 안에는 세부 옵션이 있습니다.

    • DATAFILE = REFILE: 지정한 파일을 참조

    • DBMS = XLSX: 파일 형식이 엑셀임을 지정

    • OUT = WORK.SAELS: 불러온 데이터를 WORK 라이브러리에 SALES라는 데이터로 저장

    • GETNAMES = YES: 엑셀에서 첫 행을 변수명으로 사용합니다.

  • PROC CONTENTS: 데이터 셋의 구조를 보여줍니다.

  • PROC TABULATE: 교차표, 요약표를 만드는 구문입니다.

    • CLASS : PROVINCE(고객 거주 지역) 변수를 범주형 변수로 설정

    • TABLE PROVINCE: 각 지역별로 몇 번의 주문을 했는지 빈도표로 출력하는 구문

 

 

■ 예제2

 

PROC TABULATE DATA = WORK.SALES;
CLASS PROVINCE;
TABLE PROVINCE, N;
RUN;

image.png

 

 

 

예제2는 위의 예제1과 비슷한 코드입니다.

하지만 예제1의 경우 단순 빈도를 출력하는 것이고, TABLE PROVINCE, N을 작성함으로 PROVINCE (고객 거주 지역) 행에 N(관측치 수)를 열을 표기합니다.

이는 행렬 형태로 PROVINCE별로 N값이 열로 정리된 형태의 테이블로 가시적인 교차표 형태로 출력됩니다.

 

 

 

Contributors
Version history
Last update:
Saturday
Updated by:

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

Article Tags