楼主: happylijun21
4026 2

求助3个问题!data步如何实现类似功能?sas在sql建立自增长序列?如何进一步学习sas? [推广有奖]

  • 1关注
  • 0粉丝

已卖:53份资源

本科生

93%

还不是VIP/贵宾

-

威望
0
论坛币
895 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6119 点
帖子
81
精华
0
在线时间
144 小时
注册时间
2007-12-30
最后登录
2023-6-8

楼主
happylijun21 在职认证  发表于 2015-1-21 17:58:44 |AI写论文
10论坛币
问题1:想通过data步实现以下功能
data test;
input a @;
do i=1 to 3;
input b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;

这样的话能够得到想要的结果,即:一个a 对应3个b
Obsab
112
213
314
456
557
658但是如果a不是在第一列,就不知道怎么实现了
唯一能想到的是:
data test;
input @7 a @;
do i=1 to 3;
input @(2*i-1) b @;
output;
end;
datalines;
1 2 3 4
5 6 7 8
run;
proc print data=test(drop=i);
run;

这样也能得到想要的结果,即1个a对应3个b
Obsab
141
242
343
485
586
687但是如果数据长度不一,或者a所在的位置不是最后一列,都不能得到想要的结果,求大神指点如何实现?

问题2:如何在数据集中建立类似其他数据库中的自动增长的序列?
在data步中可以用x=_n_实现,可是进一步更新数据集的时候不知道怎么办,例如在sql insert 数据后能够使该列自动增长?

问题3:base和advan的tutor都学完了想进一步深入学习sas的话,不知道该从什么方面下手?

最佳答案

soporaeternus 查看完整内容

sql 自增 函数MONOTONIC() 提升SAS能力,实习或是工作吧,跟着boss做做商业化的项目也不错
关键词:data步 Data 如何实现 sql 长序列 如何

沙发
soporaeternus 发表于 2015-1-21 17:58:45
sql 自增 函数MONOTONIC()

提升SAS能力,实习或是工作吧,跟着boss做做商业化的项目也不错

藤椅
happylijun21 在职认证  发表于 2015-1-25 12:17:30
soporaeternus 发表于 2015-1-23 15:05
sql 自增 函数MONOTONIC()

提升SAS能力,实习或是工作吧,跟着boss做做商业化的项目也不错
多谢指点
MONOTONIC( )函数我查了一下感觉跟_n_的效果差不多啊
现在的需求是想能不能在insert的时候自动或者手动添加序列,不知道如何实现

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

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