2013-08-16 35 views
1

我知道可以使用RETAIN语句在数据集中重新排序变量。假设数据集D1的变量为v3,v2和v1(并按此顺序),并且我希望它们在数据集中显示为v1,v2和v3(从左到右查看),我可以执行以下操作:重新排序变量而不重新读取完整数据集

data D1; 
    retain v1 v2 v3; 
    set D1; 
run; 

这样做可以不读取整个数据集?

回答

2

不,您不能在不读取整个数据集的情况下实际更改变量的顺序(因为这会更改物理存储方式)。根据不同的原因为什么要重新排序,你可以重新安排他们为你创建一个视图使用它们的过程的一部分:

data d1v/view=d1v; 
retain v1 v2 v3; 
set d1; 
run; 

那么你可以使用d1v,你会在大多数(但不是全部)情况下都使用了d1