sas datastep retain 기능을 활용한 증가율구하는 프로그램
개발관련 :
2009. 6. 9. 10:25
엑셀에서 해보던것을 sas로 만들어 보았습니다.
생각보다 쉽네요. ^^
엑셀로 데이터를 받아서 돌리면 됩니다.
PROC IMPORT OUT= WORK.SCORE
DATAFILE= "C:\Documents and Settings\cocon\바탕 화면\수익률.xls"
DBMS=EXCEL REPLACE;
SHEET="Sheet1$";
GETNAMES=YES;
MIXED=NO;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
DATA SCORE_ADD_COLUMN (DROP=TMPAMOUNT);
SET WORK.SCORE(RENAME=(_COL1=amount _COL0=TIME));
RETAIN LAST_AMOUNT 0;
TMPAMOUNT=amount; /*retain변수에 값을 집어넣기 전에 일단 빼놓음*/
OUTPUT;
LAST_AMOUNT=TMPAMOUNT; /*이전 시계열 값을 저장*/
RUN;
DATA GET_RATE(DROP=LAST_AMOUNT);
SET SCORE_ADD_COLUMN;
RATE=((AMOUNT/LAST_AMOUNT)-1)*100; /*이전 자료대비 증가율 구하기*/
RUN;
반응형
'개발관련' 카테고리의 다른 글
SAS DATASET에서 FIRST, LAST, END 옵션의 활용법 (0) | 2009.06.09 |
---|---|
sas 문자함수 (3) | 2009.06.09 |
sas format문 (0) | 2009.06.09 |
sas array문 사용 (0) | 2009.06.09 |
sas와 엑셀로 기하평균 구하기 (0) | 2009.06.08 |