我有一个充满交易的数据集,每个观察都有帐号,日期和交易金额变量。显然,多个交易将具有相同的帐号。
我想计算每笔交易过去15天内每个帐号的总交易金额。
因此,我的最终数据集将是一组包含以下变量的交易:帐号,日期,交易金额和过去15天内的总交易金额。
有什么想法吗? 谢谢!
答案 0 :(得分:2)
您可以使用自我合并的proc SQL来执行此操作,在此处删除where子句,仅作为示例。 这实际上做了两次数据传递,但它将在一个proc中。
proc sql;
create table want as
select a.stock, a.date, a.open, sum(b.open) as total_open
from sashelp.stocks as a
left join sashelp.stocks as b
on a.date-b.date between 0 and 15
and a.stock=b.stock
where a.stock='IBM'
group by a.stock, a.date, a.open
order by a.stock, a.date;
quit;