SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 703|回复: 4
打印 上一主题 下一主题

用data步排序

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-3-28 09:56:28 | 只看该作者

用data步排序

请教各位大虾,用data步来给变量排序,而不用proc sort;  譬如说给sashelp.class中的height 排一下序   急求!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-3-28 15:44:58 | 只看该作者

Re: 用data步排序

4个方案,
SAS 9.0中的Hash Iterator Object,
SAS 9.2中的Sort()函数,
ARRAY,
Retain;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-3-29 09:18:01 | 只看该作者

Re: 用data步排序

谢谢大虾给出的四个方案,前两个已经用了,非常好!可是后两个array  ,retain用起来较困难,希望大虾能给出个应用的例子,本菜鸟尚处于学习阶段,望赐教!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-3-29 09:55:39 | 只看该作者

Re: 用data步排序

跟C里边比较大小一样~~~。这在替换SQL过多的looping过程中有独特的效果。。主要用在SAS的ETL Tunning上。。
把set point当成一个纬度的index, 把varnum当成第二个纬度的index..使用retain 变量作为中间变量。剩下的活儿你已经知道怎么做了。
Array 更富有弹性,速度更快,但是仅适合数据量较小的情况。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2009-3-29 10:30:29 | 只看该作者

Re: 用data步排序

非常非常感谢!! <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) --> 我再试试
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 14:01 , Processed in 0.068689 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表