楼主: 绣球
4939 4

[问答] sas 中如何将一个变量多个值合并 [推广有奖]

  • 1关注
  • 0粉丝

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
87 个
通用积分
0.3000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
273 点
帖子
15
精华
0
在线时间
62 小时
注册时间
2015-1-10
最后登录
2025-10-21

楼主
绣球 发表于 2017-7-25 10:06:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,假设有两个变量id,name,数据如下:
a apple
a pear
b apple
c banana
c pear
……
想得到的结果是,a apple&pear
请问如何实现呢?假设name有一百种以上
二维码

扫码加我 拉你入群

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

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

关键词:banana Apple appl name 如何实现

沙发
大片阳光因你 发表于 2017-7-25 10:56:44
  1. data a1;
  2. input id $ name $;
  3. datalines;
  4. a apple
  5. a pear
  6. b apple
  7. c banana
  8. c pear
  9. ;
  10. run;
  11. proc transpose data=a1 out=a2 (drop=_NAME_) prefix=name;
  12.     by id;
  13.     var name;
  14. run;
  15. data a3;
  16.     set a2;
  17.     name=catx("&",of name1-name2);
  18.     drop name1-name2;
  19. run;
复制代码



name1-name2 根据你a2的name数量来改

藤椅
绣球 发表于 2017-7-25 12:10:16
大片阳光因你 发表于 2017-7-25 10:56
name1-name2 根据你a2的name数量来改
这个办法好棒,问题解决了,谢谢

板凳
Happy第二代 发表于 2021-11-21 16:34:19
大片阳光因你 发表于 2017-7-25 10:56
name1-name2 根据你a2的name数量来改
name有很多个,不可能每次都去数name共有N个,然后将“name2”改为“nameN”。有和办法可以直接判断N呢

报纸
HXAI102230 在职认证  发表于 2021-11-21 17:08:51
Happy第二代 发表于 2021-11-21 16:34
name有很多个,不可能每次都去数name共有N个,然后将“name2”改为“nameN”。有和办法可以直接判断N呢
retain mname;
        if first.ID then mname=Name;
        else mname=catx('&',mname,Name);

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

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