Time 在SAS中合并具有2个不同时间变量的数据集

Time 在SAS中合并具有2个不同时间变量的数据集,time,merge,dataset,Time,Merge,Dataset,嘿,伙计们 对于那些经常浏览这个网站的人,很抱歉已经有了另一个问题,但是我自己解决了最后一个问题 我在合并数据集方面还有另一个问题,似乎在数据集中计算时间是一个真正的难题。我成功地在以前的数据集中合并了几个月,但似乎我有一个最终的数据集,其中只有季度作为时间计数变量。所以,我所有的普通数据库都以1-xxx月为时间指标,而这个数据库以季度为时间指标 我仍然希望将最后一个数据库的变量(我们称之为TVOL)添加到我的工作数据库中 快速总结 季度:第0季度=1996年1月至1996年3月 月份:第0个月

嘿,伙计们

对于那些经常浏览这个网站的人,很抱歉已经有了另一个问题,但是我自己解决了最后一个问题

我在合并数据集方面还有另一个问题,似乎在数据集中计算时间是一个真正的难题。我成功地在以前的数据集中合并了几个月,但似乎我有一个最终的数据集,其中只有季度作为时间计数变量。所以,我所有的普通数据库都以1-xxx月为时间指标,而这个数据库以季度为时间指标

我仍然希望将最后一个数据库的变量(我们称之为TVOL)添加到我的工作数据库中

快速总结

季度:第0季度=1996年1月至1996年3月

月份:第0个月=1996年1月

示例:TVOL

TVOL股票行情季度

1500 uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu1

52546 uuuuuuuuubb uuuuuuuuuuuuuuu15

例子:工作

贝塔月

1.52 uuuuuuuuuaa uuuuuuuuuuuuuuuuuuuuuuuuuuu2

1.54______________3

示例:合并:

贝塔月

1.52 2

现在我想使用以下关系合并这两个表

如果月份在第1季度,则必须使用第0季度的数据,因此如果我有一个日期为1996年6月2日的观察结果,则必须将第1季度的TVOL置于该观察结果之后

类似于如果月份=季度,我使用数据季度i-1

此外,由于TVOL是每季度测量的,我必须每月输入一次,我必须取平均值,因此TVOL/3应作为一个变量添加


谢谢

好的,我解决了我的问题

 data test;
    set test;
    Quarter=intck('qtr','01apr96'd,recdats);
    put _all_;
run;
proc sort data=test;
by ticker quarter;
run;
proc sort data=wtvol;
by ticker quarter;
run;
data test;
merge test(in=a) wtvol(in=b);
by ticker quarter;
frommerg=a;
fromwtvol=b;
run;
data test;
set test;
if frommerg=0 then delete;
run;
data test;
set test;
if fromwtvol = 0 then delete;
run;
data test;
set test;
drop frommerg fromwtvol;
run;
我在我的基本数据集中创建了一个季度变量,并基于季度和股票代码合并了这两个集合