본문 바로가기

proc sort5

[SAS] sas에서 그룹별로 중복값들 제거하는 방법 nodupkey sas에서 그룹별로 값들이 중복이 있는 경우 간단하게 제거 하는 방법이다. 위의 사진을 보면서 이해를 하자. group이라는 그룹 변수를 기준으로 cost들 값들이 같은 값들로 중복이 있는 경우 제거하려고 한다. proc sort 구문을 이용해서 위의 결과창처럼 간단하게 그룹별로 nodupkey를 이용해 중복제거 할 수 있다. sasbigdata.com 김진휘 2014. 3. 28.
[SAS] sas proc sql과 proc sort 두 방법으로 merge할 경우 처리 속도 비교 sas를 이용하여 필요한 데이터를 구축하기 위해서 데이터 병합 작업을 많이 하게 된다. 쉽게 말해 sas로 데이터를 붙이고 짜르고 하는 작업이 빈번하게 발생한다는 말이다. 데이터 가로 병합(merge)을 흔하게 사용하는데 데이터가 작을 경우에는 어떤 병합 방법을 사용해도 처리시간이 거의 차이가 없지만, 데이터가 크면 클수록 시간이 오래 걸리기 때문에 처리시간을 단축시키는 방법을 찾게 된다. sas에서 full join merge를 한다는 기준으로 두가지 방법(proc sql문, proc sort문)을 보고 어떤 것이 처리시간이 빠른지를 알아보도록 하자. 당연히 같은 결과를 출력하는데 여러가지 방법이 있다면 빠르게 처리 할수 있는 방법을 아는 것이 실무에 많은 도움이 될 것이다. 위의 사진에서 두가지 방법.. 2014. 3. 12.
[SAS] SAS에서 proc rank를 이용하여 순위구하기 SAS의 proc rank를 이용하여 값의 순위를 구하여 보자. 위의 사진을 보면 proc rank문을 이용하여 cost에 대한 순위를 구한 것이다. proc rank - 순위를 구하여보자 var cost - cost 변수에 대한 값들의 순위를 구해라. ranks cost_rank - 생성된 순위를 cost_rank라는 변수를 생성하여 입력해라. (위의 사진에서 rank for variable cost는 변수명이 아닌 자동으로 만들어진 라벨명이다. 실제 변수명은 지정한대로 cost_rank로 되어있음) 아래의 사진을 보면 option nolabel을 통해 라벨을 제거하면 실제 변수명을 볼 수 있다. 위의 사진과 함께 간단하게 순위를 매겨보았다. 기본적으로 작은값이 1부터 매겨진다. 아래의 사진을 통해 좀.. 2014. 2. 5.
[SAS] SAS ERROR : Utility file open failed ERROR : Utility file open failed NOTE : 오류가 발생하여 SAS 시스템은 현재 스텝의 실행을 중지합니다. WARNING : 데이터 셋 XXX 이(가) 불완전합니다. 이 스텝은 0개의 관측치와 x개의 변수가 있을 때 중단되었습니다. WARNING : 데이터셋 'XXX' 은(는) 현재 스텝의 종료(으)로 인하여 변경되지 않았습니다. SAS에서 빅데이터(BIGDATA)를 다루면서 가장 일반적으로 PROC SORT를 실행 할 시 볼 수 있는 에러가 ERROR : Utility file open failed 라는 문구이다. 프로그램 코딩에도 문제가 없으며, Sorting하려는 데이터도 문제가 없는데 에러가 떠서 혼란스러울 것이다. 유틸리티 파일을 여는데 실패했다고 하는데 무엇이 문제.. 2014. 1. 21.
[SAS] SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 SAS를 이용해 두개의 데이터셋의 변수들이 일치하는 기준으로 merge해서 붙이기 이게 무슨 말인가? 두개의 데이터셋이 있는데 변수들의 값이 일치하는 것끼리 붙여버리는 것입니다. 말로 설명하는데는 한계가 있으니 사진을 참고 하시기 바랍니다. ex1과 ex2라는 두개의 데이터 셋이 있습니다. 같은 변수도 있고 다른 변수들도 있는데~ key와 name이라는 변수들이 일치하는 기준으로 두개의 데이터셋을 하나로 합치는 것입니다. ex3을 보시면 제대로 붙었다는 것을 확인 할 수가 있습니다. sort와 merge는 자주 사용하는 것이니 잘 알아두시면 유용하게 쓰일거라 생각됩니다. 2013. 11. 15.