SAS Advanced programming 정리- PROC SQL (1)

Hoya Jaeho Lee·2022년 4월 6일
0

SAS Advanced programming

목록 보기
1/17
post-thumbnail

SAS Advanced programming 공부한 것을 요약하는 포스터를 작성하겠습니다:)
중요한 개념에 해당하는 SAS 코드들 위주로 정리할 생각이고,
최소 CH 1 당 하나의 포스터에 목표로 작성!!

Chapter 1 - Performing Queries Using PROC SQL

Specifying Subsetting Criteria using where clause

proc sql;
select empid,jobcode,salary,
salary*.06 as bonus
from sasuser.payrollmaster
where salary<32000
order by jobcode;

코드 설명:
순서 확인 잘하고, where로 해당 범위 축소, order by 기본 default 값이 ascending order!!
descending order로 지정하고 싶으면 아래로 바꾸면 됨
(참고로, 문자의 경우 abcde 가 ascending 순서!!)
order by jobcode desc;
추가적으로 order by 이후 integer가 나오면 select 기준에 해당하는 integer 순서 column을 의미하는 거임!! 위의 예시로 jobcode 해당
order by 2;

Querying Multiple Tables

proc sql;
select salcomps.empid,lastname,
newsals.salary,newsalary
from sasuser.salcomps,sasuser.newsals
where salcomps.empid=newsals.empid
order by lastname;

코드 설명:
where로 상이한 데이터 연결 (겹치는 id선택)

Summarizing Groups of a Data

proc sql;
select jobcode,avg(salary) as Avg
from sasuser.payrollmaster
group by jobcode
having Avg>40000

order by jobcode;

코드 설명:
summarizing 형식의 sql경우 group by 사용!!!
avg나 sum 이런것을 select에 제시하면 후에 group by 로 지정
조건을 넣을 경우 group by에 따라 나오는 having 절 사용:)
GROUP BY: Having 전에 명시
HAVING clause: AVG에 관한 조건을 명시하는 구문


References

SAS Certification Prep Guide: Advanced Programming for SAS 9, Fourth Edition 4th Edition by SAS Institute

profile
Biostatistics researcher Github: https://github.com/hoyajhl

0개의 댓글