楼主: greatvia
1674 4

[原创博文] proc sql 链接变量名 [推广有奖]

  • 0关注
  • 0粉丝

大专生

8%

还不是VIP/贵宾

-

威望
0
论坛币
24 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
379 点
帖子
36
精华
0
在线时间
45 小时
注册时间
2009-12-2
最后登录
2024-10-24

楼主
greatvia 发表于 2012-2-24 22:05:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现在有这么一个数据集:data test;
input name $1. a 1. b 1. c 1.;
cards;
x 1 0 1
y 0 1 1
z 0 1 0
;
run;

现在我想实现根据a/b/c 的值为1 就添加变量名到一个新变量中
例如:
x ‘ac’
y 'bc'
z 'b'

通过data step 应该很容易实现,
我想能不能通过proc sql实现呢?在Oracle里面,可以通过(Decode(a,1,'a','')||Decode(b,1,'b', '')||Deocde(c,1,'c',''))来实现
那么在SAS下面应该怎么做呢?
二维码

扫码加我 拉你入群

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

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

关键词:proc sql ROC sql Data step decode Oracle

回帖推荐

bobguy 发表于3楼  查看完整内容

You can leverage SAS format and make it a little easy. data tmp; input name : $1. a : 1. b : 1. c : 1.; cards; x 1 0 1 y 0 1 1 z 0 1 0 ; run; proc print;run; proc format; value a 1='a' other=' '; ; value b 1='b' other=' '; ; value c 1='c' other=' '; ; run; proc sql; select *, catt(put(a,a.),put(b,b.),put(c,c.)) as newvar from tmp ; quit;

maidenhan 发表于2楼  查看完整内容

U can use SQL procedure in this way.

沙发
maidenhan 发表于 2012-2-24 22:50:19
U can use SQL procedure in this way.


  1. data test;
  2. input name $1. a b c ;
  3. cards;
  4. x 1 0 1
  5. y 0 1 1
  6. z 0 1 0
  7. ;
  8. run;
  9. proc sql;
  10. create table test01 as
  11. select *, compress( case when a=1 then 'a' else '' end ||
  12. case when b=1 then 'b' else '' end ||
  13. case when c=1 then 'c' else '' end )as new_var
  14. from test;
  15. quit;
复制代码

藤椅
bobguy 发表于 2012-2-26 23:18:37
You can leverage SAS format and make it a little easy.

data tmp;
input name : $1. a : 1. b : 1. c : 1.;
cards;
x 1 0 1
y 0 1 1
z 0 1 0
;
run;

proc print;run;

proc format;
value a
1='a'
other=' ';
;
value b
1='b'
other=' ';
;
value c
1='c'
other=' ';
;
run;

proc sql;
  select *, catt(put(a,a.),put(b,b.),put(c,c.)) as newvar
  from tmp
  ;
  quit;

板凳
greatvia 发表于 2012-2-27 13:50:39
多谢楼上两位的精彩回复!!都是很实用的方法,学习了!!!

报纸
chendonghui1987 发表于 2012-3-3 20:39:00
顶楼主,我也需要

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 09:46