Таблица PIVOT для данных учетной записи с столбцами за каждый месяц

116
5

Таблица, в которой я просматриваю, имеет следующие столбцы:

department_number, amount, date_created.

Я пытаюсь создать таблицу, которая показывает общую сумму для каждого отдела за каждый месяц в 2013 году, поэтому она будет выглядеть так:

Department_number, Jan Amount, Feb Amount, March Amt, etc....

Это случай для сводных таблиц, или я должен просто запускать другой запрос за каждый месяц и присоединяться к ним?

спросил(а) 2021-01-25T15:19:55+03:00 4 месяца, 4 недели назад
1
Решение
63

Ваш случай, безусловно, является кандидатом на использование синтаксиса таблицы PIVOT. Ниже приведен простой запрос, который делает поворот.

SELECT Department_number
,[January]
,[February]
,[March]
FROM (
SELECT Department_number, Amount, datename(date_created) AS month_created from <Your_Table>
) AS SOURCETABLE
PIVOT(SUM([Amount]) FOR month_created IN ([January],[February],[March])) AS PIVOTTABLE

Этот запрос предполагает, что у вас есть столбец date_created, содержащий значения Jan, Feb, March в вашей таблице. Если вам нужно, вы можете добавить еще несколько месяцев.

Подробнее об этом - http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

ответил(а) 2021-01-25T15:19:55+03:00 4 месяца, 4 недели назад
-4

Если вы хотите отобразить это в отчете SSRS, перейдите для группировки строк и столбцов и суммируйте сумму, иначе вы можете использовать сводную таблицу с TSQL: как сворачивать таблицу с помощью T-SQL?

ответил(а) 2021-01-25T15:19:55+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема