楼主: xlbdh2
2141 6

[SAS EM] SAS如何把数据上提一行 [推广有奖]

  • 3关注
  • 0粉丝

硕士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
36 个
通用积分
3.4118
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1552 点
帖子
91
精华
0
在线时间
73 小时
注册时间
2007-12-15
最后登录
2022-8-7

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
先上case如图
QQ图片20200415195040.png
把n1每一行都上提一行,咋个操作?



二维码

扫码加我 拉你入群

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

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


沙发
l1i2n3i4n5g 在职认证  发表于 2020-4-17 09:06:25 |只看作者 |坛友微信交流群
data test;
   input series n1;
cards;
1 .
2 -1
3 -1
4 1
;
run;

data want;
   merge test(drop=n1) test(keep=n1 firstobs=2);
run;
已有 1 人评分经验 收起 理由
eijuhz + 40 热心帮助其他会员

总评分: 经验 + 40   查看全部评分

使用道具

藤椅
逍遥梦蝶 发表于 2020-4-17 09:24:47 |只看作者 |坛友微信交流群
应该可以按照识别变量 series 降序排列,然后使用 LAG() 函数。

使用道具

板凳
Mzrj 发表于 2020-5-19 14:36:01 来自手机 |只看作者 |坛友微信交流群
xlbdh2 发表于 2020-4-15 19:57
先上case如图

把n1每一行都上提一行,咋个操作?
proc expand<br>

使用道具

报纸
xlbdh2 发表于 2021-5-16 18:36:43 |只看作者 |坛友微信交流群
l1i2n3i4n5g 发表于 2020-4-17 09:06
data test;
   input series n1;
cards;
如果是把下2列以上的上提呢?

使用道具

地板
l1i2n3i4n5g 在职认证  发表于 2021-5-18 14:10:53 |只看作者 |坛友微信交流群
xlbdh2 发表于 2021-5-16 18:36
如果是把下2列以上的上提呢?
firstobs=3

使用道具

7
luijb 在职认证  发表于 2021-5-23 10:02:19 |只看作者 |坛友微信交流群
上提一行 就是 lag(),两行就是lag2() 以此类推

使用道具

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

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

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

GMT+8, 2024-4-20 04:43