我有以下格式的数据,包括会计年度开始月份和会计年度结束月份。使用每个日历年度的每日观察,我想找到每年的平均回报,使其在财政月份结束由于公司的财政年度结束不同,年终而不是日历年的月末。
因此,1991年A公司的平均收入将从1990年的第7个月开始,到1991年的6个月结束,或者使用公司B,1991年的平均收入将从1990年的11个月开始,到10个月的10个月结束。 1991。
如何解决此问题?。提前感谢您的帮助。
Compname Date Ret Fiscal year end month
A 1/01/1990 1.5 6
A 2/01/1990 1.6 6
A 3/01/1990 1.7 6
A 4/01/1990 1.8 6
.
.
.
.
A 31/12/2016 1.8 6
B 1/01/1990 2.5 10
B 2/01/1990 2.6 10
B 3/01/1990 2.7 10
B 4/01/1990 2.8 10
.
.
B 31/12/2016 2.5 10
答案 0 :(得分:0)
您可以通过添加月份和提取年份来完成此操作。以下是使用proc sql
的方法:
proc sql;
select compname, year(intnx('month', date, 12 - fy_end_month)) as fyyyy, avg(ret)
from t
group by compname, year(intnx('month', date, 12 - fy_end_month));