У меня есть две таблицы со столбцами: Sales_Margin: Филиал, Код товара, Название товара, Кол-во продаж, Курс продажи, Стоимость, Маржа
Каталог:
ВЕРТИКАЛЬ, ИДЕНТИФИКАТОР, ОПИСАНИЕ ЧАСТЕЙ
Мне нужен вывод таким образом, чтобы отличающиеся значения в VERTICAL из таблицы Catalog были столбцами, а ветви Branches from Sales Report - строками.
Я получил эту часть, используя пивот:
Мой код:
select branch as Branch, [Vertical1], [Vertical2], [Vertical3],
[Vertical4]
from
(
select branch, vertical, round((sum(margin)/sum([Sale Rate])),3) [Avg GM]
from
Sales_Margin JOIN Catalogue
ON Sales_Margin.[Item Code] = Catalogue.[ITEM ID]
group by branch, VERTICAL
) x
pivot
(
sum([Avg GM])
for vertical
in([Vertical1], [Vertical2], [Vertical3], [Vertical4])
) as pivot_table
Но мне также нужна сумма столбца «Маржа» из таблицы «Отчет о продажах», чтобы поля были сгруппированы по филиалам (скопировать вывод в Excel и взять проценты)
Ожидаемый результат:
Branch Vertical1 Vertical2 Vertical3 Vertical4 Margin
A1 0% 9% 52% 0% A1 Margin
A2 40% 9% 66% 1% A2 Margin
A3 32% 4% 57% 2% A3 Margin
A4 17% 9% 65% 17% A4 Margin
Я попытался использовать коррелированный подзапрос, как показано ниже, но он не работает:
select branch as Branch, [Vertical1], [Vertical2], [Vertical3],
[Vertical4],
(select sum(Margin) from Sales_Margin a where a.Branch =
x.branch)
from
(
select branch as Branch, [Vertical1], [Vertical2], [Vertical3],
[Vertical4]
from
(
select branch, vertical, round((sum(margin)/sum([Sale Rate])),3) [Avg GM]
from
Sales_Margin JOIN Catalogue
ON Sales_Margin.[Item Code] = Catalogue.[ITEM ID]
group by branch, VERTICAL
) x
pivot
(
sum([Avg GM])
for vertical
in([Vertical1], [Vertical2], [Vertical3], [Vertical4])
) as pivot_table
) z
Там написано,
The multi-part identifier "x.branch" could not be bound.
Может кто-нибудь, пожалуйста, дайте мне знать, как получить столбец Маржа с добавленными числовыми значениями, сгруппированными по ветке