我在sas数据集中有2个变量和3个记录,并且根据该数据集中的日期字段,我需要读取不同的月度数据集。 例如, 我有
item no. Date
1 30Jun2015
2 31Jul2015
3 31Aug2015
当我读取第一条记录,然后根据此处的日期字段(30jun2015
)时,它应该将另一个带有30jun2015
后缀的数据集与此当前数据集合并。
我怎样才能做到这一点?
答案 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;