SAS从每月数据集中检索数据

时间:2016-03-16 18:37:26

标签: sas

我在sas数据集中有2个变量和3个记录,并且根据该数据集中的日期字段,我需要读取不同的月度数据集。 例如, 我有

item no.  Date
1         30Jun2015
2         31Jul2015
3         31Aug2015

当我读取第一条记录,然后根据此处的日期字段(30jun2015)时,它应该将另一个带有30jun2015后缀的数据集与此当前数据集合并。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

因此,如果我猜测您正在寻找什么,我会留下一些差距,您必须为自己的合并指定标准。

1)读入基础数据

data MAIN_DATA;
infile cards;
input ITEM_NO DATE:date9.;
format DATE date9.;
cards;
1 30JUN2015
2 31JUL2015
3 31AUG2015
;
run;

2)将所有日期存储到宏变量date1到daten。假设ddmmyy6。是一个很好的表名格式

Data _null_;
Set Main_data;
Call symputx('date'||strip(_n_),put(DATE,ddmmyy6.));
Call symputx('daten', _n_);
Run;

3)读入变量并阅读相关表格 - 您还没有指定如何进行合并,所以我将其留给您

%macro readin;
  %do i = 1 %to &daten;
    data NEW_TABLE_&&date&i..;
    set TEST_&&date&i..; /*in this step you can merge on the original table however you intend to*/
    run;
  %end;
%mend readin;
%readin;