[程式] SAS retain 停止問題
[軟體程式類別]:SAS
[程式問題]: retain 的處理
[軟體熟悉度]:半年
[問題敘述]:
遇到一個retain的問題
我的資料如下
data aaa;
tmp idy1 name1 idy2 name2 idy3 name3 code starting ending
531000 FIRE Finance 531 Real_estate 5310HS Housing 531 1 .
.填資料
.填資料
.填資料
531999 FIRE Finance 531 Real_estate 5310HS Housing 531 . 1
532000 blank
532099 blank
532100 ABC Food 532 Fruit 532 Apple 532 532 1 .
.填資料
.填資料
.填資料
532199 ABC Food 532 Fruit 532 Apple 532 532 . 1
我想要在531000 to 531999之間填滿所有的資料,532000是沒有資料要維持空白
所以我設了starting 和 ending希望來區分何時為retain的起點和結束點
[程式範例]:
data aaa_retain; set aaa;
retain idy3_1 name3_1 code; *假設先填滿3欄資料;
if name3^='' and starting = 1 then name3_1 = name3;
*方法1,其實只是填入了999999;
else if name3^='' and ending = 1 then name3_1 = 999999;
*方法2,結果第一個ending就結束了@@;
else if name3^='' and ending = 1 then stop;
run;
不知道該怎麼樣設條件才對,跟這裡的大大求解了...大感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.158.22
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1449507398.A.C35.html
推
12/08 23:07, , 1F
12/08 23:07, 1F