无需重新读取完整数据集即可重新排序变量

时间:2013-08-16 14:39:01

标签: sas

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

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

这可以在不读取整个数据集的情况下完成吗?

1 个答案:

答案 0 :(得分:2)

不,如果不读取整个数据集,您实际上无法更改变量的顺序(因为这会改变它们在物理上的存储方式)。根据为什么您要重新排序的原因,您可以通过创建视图将它们重新排序为您使用它们的过程的一部分:

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

然后您可以使用d1v,就像在大多数(但不是全部)案例中使用d1一样。