全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1631 0
2017-11-07
悬赏 5 个论坛币 未解决
基础不好,编程真累。上图是我的原始数据,下图是期望的输出结果。
过程就是对原始数据var1-varN进行各种条件判断,符合条件就输出一段信息,关键是一行数据有N个判断条件,也就是说一行数据会有N条输出。

快照7.png

快照8.png

现在我的判断是这样的:

先判断一个条件,一次判断所有行。
data out(keep=A B C);
set in;
if 满足条件1 then 行数保留,其余行删除。
    A="XXX";
    B="XXXX";
    C="XX";
run;
把out数据集用proc append附加到某个数据集。

再判断第二个条件,同样一次判断所有行。
data out(keep=A B C);
set in;
if 满足条件1 then 行数保留,其余行删除。
    A="YYY";
    B="YYYY";
    C="YY";
run;

把out数据集用proc append附加到某个数据集。


如此循环直到所有条件写完。

这样的问题之一就是重复打开原始数据集多次。
我希望程序结构是:
data _null_;
set in;
if 满足条件1 then do;
    A="XXX";
    B="XXXX";
    C="XX";
   把A B C附到某个数据集;
end;
if 满足条件2 then do;
    A="YYY";
    B="YYYY";
    C="YY";
   把A B C附到某个数据集;
end;

...直到多个条件判断完毕。
run;


请问如何实现?或者其它更合理的结构请分享。谢谢!



二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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