数据步骤多列与列

时间:2018-06-19 05:36:45

标签: sas

我是SAS新手。有一个相当简单的问题无法自己解决。

我有12个名为data_1404到data_1503的月度数据集,它们都具有相同的变量集。我的任务是将它们作为年度数据集附加,并将月份列添加到年度数据集中。

我尝试了下面的内容。

DATA data_yearly;
SET data_1404 data_1405...;
RUN;

但是我无法弄清楚如何将月份列添加到它。我已经尝试了宏,但没有运气。

我相信这应该是非常简单的事情,如果有人可以帮我解决这个问题,我将非常感激。谢谢!!

1 个答案:

答案 0 :(得分:1)

听起来您正在堆叠数据,并且需要一个额外的列来告诉下游流程SET该行来自哪个。

使用SET选项INDSNAME=访问SET上次读取的数据集的名称。

  

INDSNAME = 变量
创建并命名一个存储名称的变量   从中读取当前观察结果的SAS数据集。该   存储的名称可以是数据集名称或物理名称。身体上的   name是操作环境识别的名称   文件。

变量是自动变量,例如_n_,它被添加到程序数据向量(PDV)但不是输出数据集 - 您必须分配一个自动变量到要传播到输出数据集的值的“永久”变量。

例如:

data x;
  length source $41;
  set
    sashelp.class
    sashelp.cars
    indsname=_source_
  ;
  source = _source_;
run;