В сводной области, в которой вы используете псевдонимы, вам нужно использовать литералы. Это означает, что вы либо
a. Необходимо заранее знать названия нужных вам столбцов (маловероятно, что данные изменятся)
b. создайте сводную инструкцию, используя Dynami c sql. Существует множество примеров того, как сделать это на SO.
Однако , так как вы пытаетесь получить отчет в SSRS, нет необходимости делать это. Если вы используете в отчете элемент управления Matrix, он сделает поворот за вас.
Вот краткое руководство (из памяти) по его выполнению.
Создайте новый отчет и добавьте новый набор данных. Задайте для запроса этого набора данных что-то вроде
SELECT DATEPART(year, date) [year],
DATEPART(quarter, date) [quarter],
DATEPART(month, date) [month],
DATENAME(month, date) [monthName],
DATEPART(day, date) [day],
Payee,
Amount
FROM Pay_Details
примечания: нам в действительности не нужны столбцы получателя, квартал и день в этом примере, но вы можете расширить его, чтобы включить те, которые вам нравятся , Я также добавил столбец monthName
Теперь добавьте матрицу в область дизайна отчета. Вы получите таблицу 2х2 с заполнителями для «Столбцы», «Строки» и «Данные»
Перетащите поле [year]
из набора данных и поместите его в «Строки», перетащите [month]
в «Столбцы» и, наконец, перетащите [amount]
в 'Данные'
Вот и все (почти)
Запустите отчет, и вы увидите, что данные были повернуты. Единственная проблема заключается в том, что в столбцах вашего месяца отображается номер месяца, чтобы исправить это, щелкните ячейку, содержащую номер месяца, и выберите [monthName]
из списка. Столбцы все равно будут отсортированы по номеру, так как сортировка определяется свойствами группы столбцов.