В настоящее время у меня есть запрос, который производит данные за каждый квартал, я бы хотел, чтобы общая сумма была общей. Таким образом, показатели квартала 2 будут добавлены к кварталу 1 и т. Д. До конца финансового года, когда процесс начнется снова.Совокупный итог для кварталов
select datepart(year,date) as Year,
CASE
WHEN MONTH(date) BETWEEN 1 AND 3 THEN convert(char(4), YEAR(date) - 1) + 'Q4'
WHEN MONTH(date) BETWEEN 4 AND 6 THEN convert(char(4), YEAR(date) - 0) + 'Q1'
WHEN MONTH(date) BETWEEN 7 AND 9 THEN convert(char(4), YEAR(date) - 0) + 'Q2'
WHEN MONTH(date) BETWEEN 10 AND 12 THEN convert(char(4), YEAR(date) - 0) + 'Q3'
END AS Quarter,
Data1,
Data2,
FROM TABLE
GROUP BY datepart(year,date),
CASE
WHEN MONTH(date) BETWEEN 1 AND 3 THEN convert(char(4), YEAR(date) - 1) + 'Q4'
WHEN MONTH(date) BETWEEN 4 AND 6 THEN convert(char(4), YEAR(date) - 0) + 'Q1'
WHEN MONTH(date) BETWEEN 7 AND 9 THEN convert(char(4), YEAR(date) - 0) + 'Q2'
WHEN MONTH(date) BETWEEN 10 AND 12 THEN convert(char(4), YEAR(date) - 0) + 'Q3'
END
Это то, что я в настоящее время получить
year quarter data1 data2
2016 Q1 10 4
2016 Q2 5 6
2016 Q3 4 2
2017 Q4 1 1
Я хотел бы выход выглядеть следующим образом
year quarter data1 data2
2016 Q1 10 4
2016 Q2 15 10
2016 Q3 19 12
2017 Q4 20 13
Спасибо за любую помощь
Я думаю, вы пропустите агрегацию для Data1, Data2? И не уверен, почему вы не использовали функцию окна вместо –
@JuanCarlosOropeza. , , Потому что ты спросил. В запросе было исправлено несколько вопросов (расчет квартала и «применить»). Я просто не был сосредоточен на фактической агрегации данных. –