Economics & Deeplearning

데이터의 순서매기는 방법 좀 알려주세요~ 본문

SAS/SAS 질문과 답변

데이터의 순서매기는 방법 좀 알려주세요~

이슈카 2016. 2. 21. 13:05

데이터셋은 아래와 같구요,

DATA pay;
INPUT NAME $ month $ PAY;
CARDS;
홍길동 1월 100
홍길동 2월 200
홍길동 3월 300
홍길동 4월 300
홍길동 5월 200
홍길동 6월 400
홍경래 1월 200
홍경래 2월 200
홍경래 3월 300
홍경래 4월 200
홍경래 5월 400
홍경래 6월 300
김유신 1월 100
김유신 2월 200
김유신 3월 300
김유신 4월 400
김유신 5월 500
김유신 6월 600
김춘추 1월 300
김춘추 2월 300
김춘추 3월 300
김춘추 4월 300
김춘추 5월 300
김춘추 6월 300
;
run;

proc sort data=pay out=pay_sort; by name descending pay; run;

 

 

NAMEMONTH   PAYRANK

 김유신

 6월 600 1
 김유신 5월 500 2
 김유신 4월 400 3
 김유신 3월 300 4
 김유신 2월 200 5
 김유신 1월 100 6
 김춘추 1월 300 1
 김춘추 2월 300 1
 김춘추 3월 300 1
 김춘추 4월 300 1
 김춘추 5월 300 1
 김춘추 6월 300 1
 홍경래 5월 400 1
 홍경래 3월 300 2
 홍경래 6월 300 2
 홍경래 1월 200 3
 홍경래 2월 200 3
 홍경래 4월 200 3
 홍길동 6월 400 1
 홍길동 3월 300 2
 홍길동 4월 300 2
 홍길동 2월 200 3
 홍길동 5월 200 3
 홍길동 1월 100 4
    

 

이름과 PAY의 금액을 SORT(금액은 내림차순 순서로) 후 금액이 가장 큰것부터 1위부터 순서대로 매기되, 같은 금액을 가지는 것은 같은 순서가 되도록 할 수 있을가요?

제가 순서 매긴 것이 1, 2, 2, 다음에 3이 아니라 4가 되어야 하는게 맞는지요?

이후 SAS로 어떻게 프로그램을 짜면 될까요?

그래서 여기서 금액이 가장 높은 순서를 가진 것을 가지고 오되, 중복된 값을 다 가지고 올 수 있도록 프로그램을 어떻게 짤 수 있나요??

고수님들의 도움이 절실해요~

오늘 데이터 셋을 만들어서 보고서에 넣어야 해서요.. ㅠ.ㅠ

부탁드려용~~~*^^*

================================================================================


data pay_sort_1;
set pay_sort;
by name;
retain rank;
k=lag(pay);
if first.name then do;rank=1;k=.;end;
else if pay <k then rank+1;
drop k;
run;

Comments