全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1300 3
2017-04-24
请教大家,如何简化如下程序?

data tmp8;set tmp7;by province year;
retain m n o;
if not (first.province) then temperature_avgyear=coalesce(temperature_avgyear,m);
if not (first.province) then temperature_minyear=coalesce(temperature_minyear,n);
if not (first.province) then temperature_avgwinter=coalesce(temperature_avgwinter,o);
m=temperature_avgyear; n=temperature_minyear; o=temperature_avgwinter;
drop m n o;run;

我这里利用重复的程序,填补未来年度的数值,显得很啰嗦。请问如何用数组的方式,一次性处理三个变量呢?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-4-24 21:17:47
用不用数组另说,至少你可以把所有赋值放在一个判断里:

if not (first.province) then do;
temperature_avgyear=coalesce(temperature_avgyear,m);
temperature_minyear=coalesce(temperature_minyear,n);
temperature_avgwinter=coalesce(temperature_avgwinter,o);
end;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-4-25 08:31:35
foocares 发表于 2017-4-24 21:17
用不用数组另说,至少你可以把所有赋值放在一个判断里:

if not (first.province) then do;
非常感谢您!很好用!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-4-25 08:32:04
foocares 发表于 2017-4-24 21:17
用不用数组另说,至少你可以把所有赋值放在一个判断里:

if not (first.province) then do;
非常感谢您!很好用!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群