请选择 进入手机版 | 继续访问电脑版
楼主: 小沐君
478 2

[问答] 求问: 如何合并这样的行? [推广有奖]

  • 6关注
  • 3粉丝

博士生

5%

还不是VIP/贵宾

-

威望
0
论坛币
497 个
通用积分
30.1465
学术水平
8 点
热心指数
18 点
信用等级
8 点
经验
44321 点
帖子
191
精华
0
在线时间
192 小时
注册时间
2016-1-10
最后登录
2023-11-26

小沐君 发表于 2019-11-6 13:44:49 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

大神们,求问,怎么能把下面原始数据集根据 seq 合并变量txt?

原始:
seq

txt

1

a

1

b

1

c

1

d

2

a

2

b



想要变成这样:
seq

combine

1

a, b, c, d

2

a, b




为方便测试,我dummy了下raw data:

data raw;
length txt $10;
    seq=1; txt = 'a';output;
    seq=1; txt = 'b';output;
    seq=1; txt = 'c';output;
    seq=1; txt = 'd';output;

    seq=2; txt = 'a';output;
    seq=2; txt = 'b';output;
run;


我知道transpose能实现,想问问retain语句能实现吗?或是有什么更简单的方法吗?

拜谢~~

二维码

扫码加我 拉你入群

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

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

关键词:Transpose combine output length RETAIN

l1i2n3i4n5g 在职认证  发表于 2019-11-6 13:54:39 |显示全部楼层 |坛友微信交流群
data raw;
length txt $10;
    seq=1; txt = 'a';output;
    seq=1; txt = 'b';output;
    seq=1; txt = 'c';output;
    seq=1; txt = 'd';output;
    seq=2; txt = 'a';output;
    seq=2; txt = 'b';output;
run;

data want;
   set raw;
   by seq txt;
   retain combine;
   if first.seq then combine=txt;
   else combine=cats(combine,',',txt);
   if last.seq then output;
   drop txt;
run;
已有 2 人评分经验 学术水平 热心指数 收起 理由
eijuhz + 20 热心帮助其他会员
小沐君 + 1 + 1 热心帮助其他会员

总评分: 经验 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

使用道具

小沐君 发表于 2019-11-6 14:03:26 |显示全部楼层 |坛友微信交流群
l1i2n3i4n5g 发表于 2019-11-6 13:54
data raw;
length txt $10;
    seq=1; txt = 'a';output;
谢大佬秒回

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 14:57