楼主: burnpark
2284 7

[问答] 第一条和最后一条数据加工 [推广有奖]

  • 1关注
  • 2粉丝

已卖:1份资源

讲师

21%

还不是VIP/贵宾

-

威望
0
论坛币
2979 个
通用积分
6.6000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4270 点
帖子
128
精华
0
在线时间
591 小时
注册时间
2009-3-17
最后登录
2024-10-13

楼主
burnpark 发表于 2013-3-28 15:43:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
未命名.jpg
有这么一组数据,取第一条数据的name, 新建变量new,想要的结果如下:

new(标签)
Alfred是第一个条数据
Alice
Barbara
Carol
Henry
...
William是最后一条数据

也就是说第一条和最后一条数据提出来加工,中间的原封不动,请问要怎么做?
我试过下面的代码,怎么都不行。

data b;
set a;
by name;
if first.name then new=compress(name||"是第一条数据");
if last.n then new=compress(name||"是最后一条数据");
else new=name;
run;




二维码

扫码加我 拉你入群

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

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

关键词:compress Barbara William Alfred Press Alfred 新建

沙发
Eternal0601 发表于 2013-3-28 15:49:53
由于name的值是没有重复的,所以对于每条记录而言first.name都为1
data b;
set a  end=last;
by name;
if _n_=1 then new=compress(name||"是第一条数据");
else if last  then new=compress(name||"是最后一条数据");
else new=name;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
burnpark 发表于 2013-3-28 16:21:07
请问怎么把第一条数据到最后一条数据组合成字符串输出到结果上?

板凳
Eternal0601 发表于 2013-3-28 16:29:10
burnpark 发表于 2013-3-28 16:21
请问怎么把第一条数据到最后一条数据组合成字符串输出到结果上?
data b;
set SASHELP.CLASS  end=last;
if _n_=1 then do;new=compress(name||"AAAAAAAA"); output;end;
else if last  then do;new=compress(name||"BBBBBBBBB"); ; output;end;
else new=name;
run;
这个是你想要的吗

报纸
burnpark 发表于 2013-3-28 16:42:42
我想要的结果是”Alfred Alice Barbara Carol Henry James Jane Janet Jeffrey John Joyce Judy Louise Mary
Philip Robert Ronald Thomas William“

地板
geniusv 发表于 2013-3-28 17:03:02
proc sql noprint;
select name into :names separated by ’ ’
from a;
quit;
这样名字就按顺序以空格隔开放在宏变量names里面了

如果你想在一个data step里面完成的话
length names $ 1000;
  retain names;
names=catx(' ',names,name);
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
burnpark 发表于 2013-3-28 17:11:54
谢谢,问题解决了^^

8
ranhu 在职认证  发表于 2013-3-28 17:20:31
没有全吧
生活的全部内容是管理风险,而不是消除风险。

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

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