楼主: xiaosanmao
6869 10

[原创博文] 请教怎么改变变量输出顺序? [推广有奖]

  • 0关注
  • 0粉丝

博士生

39%

还不是VIP/贵宾

-

威望
0
论坛币
187 个
通用积分
0.0001
学术水平
1 点
热心指数
4 点
信用等级
0 点
经验
4639 点
帖子
247
精华
0
在线时间
279 小时
注册时间
2009-9-3
最后登录
2012-1-19

楼主
xiaosanmao 发表于 2011-10-20 13:06:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比方有一个数据集a,变量顺序为aa,bb,cc

怎么写程序把数据集顺序变成bb,aa,cc呢?

最好是用sql?我以前记得的忘记了,是alter?update?还是modify?反正是忘了 谢谢
二维码

扫码加我 拉你入群

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

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

关键词:modify update date 数据集 ODI modify update 程序 最好

回帖推荐

webgu 发表于6楼  查看完整内容

retain 和length均可行,但是有限制。retain要求无缺失值,length要求是最大长度

本帖被以下文库推荐

沙发
yunqingwang 在职认证  发表于 2011-10-20 13:25:15
proc sql;
create table b as
select bb,aa,cc
from a;
quit;

藤椅
xiaosanmao 发表于 2011-10-20 13:28:49
yunqingwang 发表于 2011-10-20 13:25
proc sql;
create table b as
select bb,aa,cc
谢谢,这个我会,但是好像是类似下面的
proc sql;
update a;
id   bb aa cc;
run;

板凳
playmore 发表于 2011-10-20 13:35:55
用data步也行

date want;
retain xx yy zz;
set have;
run;

记得retain子句一定要放在data和set子句之间
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

报纸
xiaosanmao 发表于 2011-10-20 14:28:10
谢谢 就是这个效果嘎嘎

地板
webgu 发表于 2011-10-20 15:37:29
retain 和length均可行,但是有限制。retain要求无缺失值,length要求是最大长度
  1. data b;
  2.    format  bb aa cc;
  3.    set a;
  4. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

7
双修阁主の 发表于 2012-7-20 14:14:57
playmore 发表于 2011-10-20 13:35
用data步也行

date want;
如果某行有缺失的话,用retain就会产生错误的结果。

8
YueweiLiu 发表于 2012-7-20 14:26:09
webgu 发表于 2011-10-20 15:37
retain 和length均可行,但是有限制。retain要求无缺失值,length要求是最大长度
retain 要求无缺失值??
  1. data have;
  2.         infile cards truncover;
  3.         input a b $;
  4. cards;
  5. 123.000 a
  6. . c
  7. 123
  8. 2 e
  9. ;

  10. data want;
  11.         retain a b;
  12.         set have;
  13. run;
复制代码

9
YueweiLiu 发表于 2012-7-20 14:28:18
双修阁主の 发表于 2012-7-20 14:14
如果某行有缺失的话,用retain就会产生错误的结果。
set merge update modify 语句,全是自动retain的。
  1. data have;
  2.         input a;
  3. cards;
  4. 123.000
  5. .
  6. 123
  7. 2
  8. ;

  9. data want;
  10.         put "before SET: " a;
  11.         set have;
  12.         put "after SET: " a;
  13. run;

  14. log output:
  15. before SET: .
  16. after SET: 123
  17. before SET: 123
  18. after SET: .
  19. before SET: .
  20. after SET: 123
  21. before SET: 123
  22. after SET: 2
  23. before SET: 2
复制代码
希望有帮助。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
BraveMadMan + 1 + 1 + 1 赞学院派

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

10
webgu 发表于 2012-7-20 21:58:39
YueweiLiu 发表于 2012-7-20 14:28
set merge update modify 语句,全是自动retain的。希望有帮助。
呵呵,谢谢。又纠正了我自己不注意的一个错误。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

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

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