更改SAS数据集中的变量长度

时间:2011-12-02 15:26:02

标签: sas

我需要更改现有数据集中的变量长度。我可以更改格式和信息,但不能更改长度。我收到一个错误。文档说这是可能的,但没有例子。

这是我的问题。我的数据源可能会更改,因此我不想在导入时预先定义列。我想进行通用导入,然后查找某些列并调整长度。

我已尝试过PROC SQL和DATA步骤。看起来这样做的唯一方法是重新创建数据集或列。我不想这样做。

谢谢, 尼

3 个答案:

答案 0 :(得分:5)

如果将LENGTH语句放在SET语句之前,则可以在“数据”步骤中更改变量的长度。显然,如果您的数据长于新的长度,您将被截断。

但是,使用DATA步骤更改长度也会重新创建数据集,因此我对您问题的这一部分感到困惑。

答案 1 :(得分:1)

在数据步骤中更改变量长度的唯一方法是在读入源(SET)数据集之前定义它。相反,您可以在proc sql中使用alter语句。 SAS support alter statement

答案 2 :(得分:1)

设置数据集后,变量的长度保持不变。如果需要更改列的长度,请在设置数据集之前添加长度语句

data a;
  length a, b, c $200 ;
  set b ;
run ;