全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6957 4
2012-10-11
data a ;
set n;           
if col1^=. and col2= .  and col3= .  and col4= . and  col5= .  and  col6= .  then group=col1;else                                                
if col1^=. and col2^=. and  col3= .  and col4= . and  col5= .  and  col6= .  then group=col1||' 和 '||col2;else                                      
if col1^=. and col2^=. and  col3^=. and  col4= . and  col5= .  and  col6= .  then group=col1||' 和 '||col2||'和'||col3;else                           
if col1^=. and col2^=. and  col3^=. and  col4^=. and  col5= .  and  col6= .  then group=col1||' 和 '||col2||'和'||col3||'和'||col4;else                    
if col1^=. and col2^=. and  col3^=. and  col4^=. and  col5^=.  and  col6= .  then group=col1||' 和 '||col2||'和'||col3||'和'||col4||'和'||col5;else        
if col1^=. and col2^=. and  col3^=. and  col4^=. and  col5^=.  and  col6^=.  then group=col1||' 和 '||col2||'和'||col3||'和'||col4||'和'||col5||'和'||col6;
run;
不知道哪里出错了,除了第一种情况正常显示了,其他五个情况都显示为 .
col1 --col6都是数值型变量。
请大家帮忙。谢谢。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-10-11 14:52:42
问题出在Group是一个数值变量, 而‘和’不能自动转化为数值,所以后面的都是空值。
你需要:
1. 定义Group为字符型,并确保长度;
2. 连接时会发生col1,col2,...自动转化为字符串,需要把多余的空格去掉。(strip函数或用catx函数连接)
二维码

扫码加我 拉你入群

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

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

2012-10-11 14:57:01
第一行group=col1改为 group=put(col1,$20.);
二维码

扫码加我 拉你入群

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

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

2012-10-11 15:50:02
Imasasor 发表于 2012-10-11 14:57
第一行group=col1改为 group=put(col1,$20.);
多谢,我后来自己想了个笨办法。先把所有col变量在组合前变为字符型,然后再组合。你这样挺好,到最后一步再变。
二维码

扫码加我 拉你入群

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

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

2012-10-11 15:52:08
pobel 发表于 2012-10-11 14:52
问题出在Group是一个数值变量, 而‘和’不能自动转化为数值,所以后面的都是空值。
你需要:
1. 定义Gro ...
我现在明白了。谢谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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