【问题标题】:I need to calculate day sale ,MTD and YTD sale for each item我需要计算每件商品的日销售额、MTD 和 YTD 销售额
【发布时间】:2019-08-22 10:47:32
【问题描述】:

我需要找到每件商品的 MTD(月至今)和 YTD(年初至今)销售价值。而且,我已经过滤到我需要查找销售报告的整个数据。根据该日期,它应该找到 MTD 和 YTD 销售额。它应该按条形码对项目进行分组。示例:如果我在过滤器中输入:8 月 21 日,我应该会找到当天的销售额和 MTD,YTD。

当前日期工作正常,但如果我填写当前日期以外的任何日期,则 MTD 和 YTD 存在差异

SELECT Barcode,
       SUM(CASE WHEN DATE = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), -1) THEN sales_amount ELSE 0 END) AS day_1,
       SUM(CASE
                WHEN MONTH(date) = (MONTH(GETDATE() - 1))
                 AND YEAR(date) = YEAR(GETDATE() - 1) THENsales_amount
                ELSE 0
           END) AS month_t,
       SUM(CASE
                WHEN MONTH(date) = (MONTH(GETDATE() - 1))
                 AND YEAR(date) = YEAR(GETDATE() - 1) - 1 THEN GL_TOTALTTC
                ELSE 0
           END) AS lastyear_tm,
FROM sale
WHERE type = 'FFO'
  AND store = 'AE001A'
  AND (DATE = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), -1)
    OR ((MONTH(date) = (MONTH(GETDATE() - 1))
     AND YEAR(date) = YEAR(GETDATE() - 1))
     OR (MONTH(date) = (MONTH(GETDATE() - 1))
     AND YEAR(date) = YEAR(GETDATE() - 1) - 1)))
GROUP BY barcode;

【问题讨论】:

  • 请解释首字母缩略词的含义,即使它们对您来说似乎是不言自明的。我不知道 MTD 或 YTD 是什么意思。
  • MTD - 该商品整月的销售额,YTD 是去年同月销售额
  • 与上述查询失败的情况共享您的表架构和一些输入数据,如果没有得到您期望的结果。

标签: sql sql-server


【解决方案1】:

您可以使用条件聚合:

select bar_code,
       sum(case when date >= dateadd(day, -1, convert(date, getdate()) then sales_amount end) as yesterday,
       sum(case when month(date) = month(getdate()) and year(date) = year(getdate()) then sales_amount end) as mtd,
       sum(case when year(date) = year(getdate()) then sales_amount end) as ytd
from sale
where type = 'FFO' and store = 'AE001A' 
group by barcode;

【讨论】:

  • 这并不总是,昨天和当前月份.. sum(当日期> = dateadd(day,-1,convert(date,getdate())然后sales_amount end)作为昨天的情况...... . 这是获取当前月份、年份和昨天
  • @Angel 。 . .这确实假设您在表中没有未来的数据。
猜你喜欢
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
相关资源
最近更新 更多