我有一个数据集:
Quantity Start date End date
1 2012-03-28 2012-05-30
7 2012-08-15 2012-12-15我想使用会计年度将它们的数量相加并分组在一起,该年度从每年4月1日开始,到明年3月31日结束。也就是说。
Fiscal Year Quantity
2012 3000
2013 1788我尝试创建一个会计年度属性,但遇到日期范围可能在2个会计年度之间的问题。(原始数据集的第一行,对于该实例,我们需要计算两次数量,一次在2011年,另一次在2012年。)
我想知道有没有办法进行这类手术?
谢谢!
发布于 2019-09-03 11:51:27
您可以通过创建一个fiscalYear表来尝试以下操作。如果数量开始日期和结束日期跨度超过两个会计年度,则逻辑中断。
fiscalYear(Year, StartDate, EndDate)
insert fiscalYear values
(2011, "2011-04-01", "2012-03-31"),
(2012, "2012-04-01", "2013-03-31"),
(2013. "2013-04-01", "2014-03-31")
select t1.Year, sum(t2.Quantity)
from fiscalYear t1
inner join myTable t2 on (convert(datetime, t2.StartDate) >= convert(datetime, t1.StartDate)
and convert(datetime, t2.StartDate) <= convert(datetime, t1.EndDate) )
or
(convert(datetime, t2.EndDate) >= convert(datetime, t1.StartDate)
and convert(datetime, t2.EndDate) <= convert(datetime, t1.EndDate) )
group by t1.Yearhttps://stackoverflow.com/questions/57764367
复制相似问题