1

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

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

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

4

1 回答 1

2

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

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

然后您可以d1vd1在大多数(但不是全部)情况下一样使用。

于 2013-08-16T14:47:58.593 回答