作者sheiswe (no matter)
看板Statistics
标题[程式] SAS retain 停止问题
时间Tue Dec 8 00:56:35 2015
[软体程式类别]: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://webptt.com/cn.aspx?n=bbs/Statistics/M.1449507398.A.C35.html
1F:推 tew: 看不懂你叙述的 给比较简单的例子吧 12/08 23:07