[SQL 3-2] Summarizing Data 2 (자료/데이터 요약하기)
안녕하세요
이번 시간에는 각 그룹에 대해 자료를 그룹화하고 요약 통계량 산출해보겠습니다.
▶ 첫 번째 Business Scenario는, 남자 직원들에 대하여 봉급의 백분율을 계산하는 것입니다.
▷ 원하는 행을 추출하여 각 행 별 백분율 계산하기
사용할 자료는 다음과 같습니다
남성은 2명, 여성은 3명으로, 총 5명의 직원에 대하여 사번, 성별, 봉급변수가 포함되어 있습니다.
남성 직원에 대한 자료에 대하여 직원(행) 별 봉급 백분율을 계산해 보겠습니다.
두 명의 남성 직원에 대하여 각각 64%, 36%의 봉급 백분율이 계산된 것을 확인할 수 있습니다.
▶ 두 번째 Business Scenario는, 남성과 여성직원의 각 평균 봉급을 계산하는 것입니다.
▷ 그룹화할 변수를 지정하여 그룹별 요약통계량 산출하기
employee_salary 데이터셋을 계속 이용하겠습니다.
Group by 문에 그룹화할 변수인 성별변수를 지정하여 평균 봉급을 계산합니다.
여성 직원의 평균 봉급은 226,617달러이고, 남성 직원의 평균 봉급은 338,495달러임을 확인할 수 있습니다.
▶ 세 번째 Business Scenario는, 자동차 제조사 별 자동차모델 대수를 계산하는 것입니다.
▷ 그룹화할 변수를 지정하여 그룹별 요약통계량 산출하기
사용할 자료는 다음과 같습니다.
SAS의 sashelp library의 cars 데이터셋의 일부입니다.
사용할 변수는 총 4개로,
make(제조사), model(모델명), Type(차종), MSRP(생산자권장가격)변수를 선택하여 가져왔습니다.
그룹화할 변수인 make변수를 사용하여, 제조사 별 model의 대수를 구해보겠습니다.
위 결과는 제조사별 모델 대수 산출 결과의 일부분입니다.
위 결과에서 25종 이상의 모델을 보유한 제조사 정보만을 추출해 보겠습니다.
Having 문을 사용하여 25 이상의 모델을 보유한 3개의 제조사 정보를 확인하였습니다.
▶ 네 번째 Business Scenario는,
제조사 별로 자동차 모델명에 “4dr”문자를 포함하는 모델 대수를 계산하는 것입니다.
더불어 제조사 별 전체 모델 대수 중 “4dr”을 포함하는 모델 대수의 비율을 산출해보겠습니다.
위의 cars 자료를 계속 이용하겠습니다.
먼저 “4dr”을 포함하고 있는 모델을 구분해주기 위해서 find 함수에 대해 공부해보겠습니다.
find함수의 형태는 다음과 같습니다.
O string에는 검색에 바탕이 되는 문자를 기입합니다. (상수(constant), 문자 또는 문자변수를 기입할 수 있습니다.)
O substring에는 string 문자 안에서 찾고자 하는 문자를 기입합니다.
O modifier 자리에는 I 또는 J의 값을 쓸 수 있습니다.
- I: 대소문자 구분을 하지 않습니다.
- J: string과 substring에 따라오는 blank를 제거합니다.
O startpos에는 string 문자에서 substring 문자를 찾은 시작 점을 알려주는 정수(interger)를 기입합니다.
위 결과를 보면, 모델명에서 “4dr”문자를 포함하여 1이상의 정수가 반환되었기 때문에
“4dr model” 변수에 참값을 의미하는 1이 표기되어있는 것을 볼 수 있습니다.
그럼 제조사 별로
자동차 모델명에 “4dr”문자를 포함하는 모델 대수 와
전체 모델 대수, 그리고 전체 모델 대수 중 “4dr”을 포함하는 모델 대수의 비율을 산출해보겠습니다.
결과를 보면 제조사 별로 각 요약값들이 적절히 산출되어 있음을 확인할 수 있습니다.
이상 자료를 그룹화하는 방법과 요약 통계량 산출하는 방법에 대해 살펴보았습니다.
감사합니다 ^^
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.