[程式] SAS資料篩選
[軟體程式類別]:
sas
[程式問題]:
挑選資料
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
小弟想寫一個追前高資料以及追前低資料的巨集,下面的範例是可以跑的
但是當我把SETTLED<=0改成>=0
if flag < settle_price 改成 if flag> settle price後,
flag這個變數下都找不到資料,請問是哪裡出錯。
追高可以成功但是追低就無法成功
[程式範例]:
%macro picklow_year(startyear); /*只保留下有過前低的日期資料*/
DATA picklowyear&startyear;
SET cutyear&startyear;
LAG_SETTLE1=LAG0(SETTLE_PRICE);
LAG_SETTLE2=LAG2(LAG_SETTLE1);
SETTLED=LAG_SETTLE1-LAG_SETTLE2;
IF SETTLED <=0 and settled ne '.' THEN DELETE;
retain flag ;
if flag < SETTLE_PRICE then flag = SETTLE_PRICE ;
PROC SORT ;
BY DATE FLAG CP_FLAG DATE ;
PROC SORT NODUPKEY ;
BY FLAG CP_FLAG;
RUN;
%mend;
%picklow_year(2007)
%picklow_year(2008)
%picklow_year(2009)
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.80.19
推
05/19 15:58, , 1F
05/19 15:58, 1F
→
05/19 15:59, , 2F
05/19 15:59, 2F
推
05/19 17:10, , 3F
05/19 17:10, 3F
→
05/19 17:11, , 4F
05/19 17:11, 4F
→
05/19 17:12, , 5F
05/19 17:12, 5F
→
05/19 17:12, , 6F
05/19 17:12, 6F
推
05/19 19:17, , 7F
05/19 19:17, 7F