【发布时间】:2017-07-06 21:18:40
【问题描述】:
所以使用 SAS,我有一些 SAS 月末数据集,命名如下:
mydata_201501
mydata_201602
mydata_201603
mydata_201604
mydata_201605
...
mydata_201612
每个人都有特定月末的帐户信息。我想使用冒号将数据集全部堆叠到一个数据集中,而不是写出完整的集合语句,如下所示:
data mynewdata;
set mydata_:;
run;
但是,数据集中没有 datestamp 变量,因此当我将它们堆叠起来时,我会丢失每个帐户的月末信息。我想知道哪一行是指每个帐户的哪个月末。有没有一种方法可以自动创建一个变量来命名该行来自的表。例如,冗长的方式是这样的:
data mynewdata;
set mydata_201501 (in=a) mydata_201502 (in=b) mydata_201503 (in=c)...;
if a then tablename = 'mydata_201501';
if b then tablename = 'mydata_201502';
if c...
run;
但是有没有更快的方法使用冒号?
data mynewdata;
set mydata_:;
tablename = _tablelabel_;
run;
谢谢
【问题讨论】: