【发布时间】:2017-12-30 00:09:26
【问题描述】:
假设有十个数据集结构相同:日期和价格,特别是它们具有相同的时间段但不同的价格
date price
20140604 5
20140605 7
20140607 9
我想组合它们并创建一个面板数据集。由于每个数据集中没有名称,我尝试在每个数据中添加一个新变量name,然后将它们组合起来。
以下代码用于将name变量添加到每个数据集中
%macro name(sourcelib=,from=,going=);
proc sql noprint; /*read datasets in a library*/
create table mytables as
select *
from dictionary.tables
where libname = &sourcelib
order by memname ;
select count(memname)
into:obs
from mytables;
%let obs=&obs.;
select memname
into : memname1-:memname&obs.
from mytables;
quit;
%do i=1 %to &obs.;
data
&going.&&memname&i;
set
&from.&&memname&i;
name=&&memname&i;
run;
%end;
%mend;
那么,这个策略正确吗?是否有不同的方法来创建面板数据?
【问题讨论】: