2013-04-14 3 views
0

Использование SSRS 2012 с SQL Server 2012. У меня есть набор результатов в SQL Server 2012, который имеет следующие поля как заголовки:Как повернуть одну строку в таблицу ключевых значений в SSRS 2012?

sumDeposits, 
sumWithdrawals, 
sumFees, 
etc 

Это был сопоставлен с Dataset в SSRS.

Мне нужна таблица или матрица SSRS, где я могу иметь заголовок столбца как столбец один и строку данных (есть только одна строка в результирующем наборе) в качестве столбца два в таблице. Это возможно? Борьба с этим.

Я должен добавить, что теперь я делаю это, чтобы перетащить поле из набора данных на страницу SSRS, а затем поставить рядом с ним текстовое поле. Количество полей растет, поэтому я предпочел бы иметь таблицу.

ответ

2

Похоже, что вы хотите univot данные из столбцов в строки. Если это так, то вы должны иметь возможность использовать функцию UNPIVOT в SQL.

Базовая структура запроса будет:

select col, value 
from yourtable 
unpivot 
(
    value 
    for col in (sumDeposits, sumWithdrawals, sumFees) -- your columns here 
)unpiv; 

Если у вас есть данные, что это не то же тип данных, то вам придется конвертировать данные для всех столбцов, чтобы быть того же типа:

select col, value 
from 
(
    select sumDeposits, 
    cast(sumWithdrawals as numeric(10, 2)) sumWithdrawals, 
    sumFees 
    from yourtable 
) d 
unpivot 
(
    value 
    for col in (sumDeposits, sumWithdrawals, sumFees) 
) unpiv; 

Этот тип запроса точно так же, как с помощью UNION ALL с несколькими вызовами в той же таблице:

select 'sumDeposits' col, sumDeposits as value 
from yourtable 
union all 
select 'sumWithdrawals' col, sumWithdrawals as value 
from yourtable 
union all 
select 'sumFees' col, sumFees as value 
from yourtable