dream_2016 发表于 2014-12-1 00:10 
谢谢jl60156,我明白你的思路,但是我的数据集文件太大,运行一次proc sort 或proc merge花费时间特别长, ...
我用30,000,000的数据来测试,他的程序需要大概2分钟。所以在千万数量级别的数据上,效率不是问题。其中的关键很显然是排序的时间。如果更大的数据,是否可以排序。所以他的两个程序的差距其实只是10-20秒而已(因为这两个程序都没有避免排序)。
其中避免直接排序的方法是利用where语句每个size分别来做。然后整合到一起。
另外merge 语句在sas里不存在效率问题。而对merge效率的不满,就是对SAS软件本身结构的不满。
通过宏以及proc format来提高运行效率在这里是不切合实际的。红本身不提高程序的运行效率。而format在这里无从提起。
京剧