У меня есть запрос, который просматривает прибыль и операционные расходы различных магазинов на основе финансового года, и в настоящее время финансовые годы и переменные сортируются в отдельные столбцы, такие как:
FiscalYear Metric Store Amount
2017 Profit A 220
2017 Cost A 180
2018 Profit B 200
2018 Cost B 300
...
Мне нужно сопоставить строки, чтобы по каждому магазину я мог сравнить прибыль за 2017 год с прибылью 2018 года, а стоимость 2017 года - со стоимостью 2018 года.
Я разбил прибыль и затраты, создавая операторы CASE WHEN для ProfitLossTable, но я не знаю, как заставить его создать столбцы «Прибыль за 2017 год» и «Прибыль за 2018 год» соответственно для каждого Магазина.
WITH [Profits, Cost] AS
(
SELECT ID, StoreID, Number, FYYearID,
CASE WHEN ID = 333 then Number END AS Profit
CASE WHEN ID = 555 then Number END AS Cost
FROM ProfitLossTable
),
Location AS
(
Select StoreID, StoreName
FROM StoreTable
),
FiscalMonth AS
(
SELECT FYYearID, FYYear
FROM FiscalMonthTable
)
SELECT A.Profit, A.Cost
FROM [Profits, Cost] A
JOIN Location B
ON A.StoreID = B.StoreID
JOIN FiscalMonth C
ON A.FYYearID = C.FYYearID
Код выше показывает это, и я чувствую, что близок к созданию столбцов на основе года, но я не знаю, что делать дальше.
FiscalYear Store Profit Cost
2017 A 220 100
2017 A 180 100
2018 B 200 100
2018 B 300 100