【发布时间】:2019-03-20 15:46:35
【问题描述】:
如何在同一个查询中计算 YTD 和之前的 YTD?
我尝试计算重量和 ytd 的重量。我不明白如何在同一个查询中添加先前 ytd 的计算。
- YTD:从 1 月 1 日到今天的总重量
- 年初至今:总和 从去年 1 月 1 日到今天的体重减去 1 年
SELECT SUM(CASE
WHEN convert(date,s.Delivery_Year+'-'+ s.Delivery_month+'-'+ s.Delivery_day) BETWEEN dateadd(yy, DATEDIFF(yy, 0, GETDATE()), 0) AND GETDATE() THEN s.Weight
ELSE 0
END) AS WeightYTD ,
sum(Weight) AS weight ,
[Sales_Organization] ,
[Market_Grp] ,
[Delivery_Year] ,
[Delivery_month] ,
Delivery_day
FROM Fact_sales s
GROUP BY ,
[Sales_Organization] ,
[Market_Grp] ,
[Delivery_Year] ,
[Delivery_month] ,
Delivery_day
【问题讨论】:
-
您选择了所有日期的所有数据,然后按年、月和日期分组。因此,您的输出结果将包括去年和今年的行。去年的行在他们的年初至今列中应该有什么? (例如,取今天的日期
20th March 2019,您还将有一个21st March 2018的输出行,该行的年初至今列是否应该显示 2019 年年初至今的值?) -
@MatBailie 不应该
-
那么请编辑您的问题,更新它的详细信息,涵盖您想要的所有行为。
标签: sql tsql sql-server-2008