2013-12-18 2 views
0

У меня есть набор данных с колонкой 1: Год как целое число (2011, 2012 и 2013) и столбец 2: KPI как индекс (0-100).SSRS Сводные данные в таблице с запросом

Я хотел бы сообщить данные как матрицу с KPI в строках и Years в столбцах. Один столбец для каждого из трех лет. Для этого купирования вариант матрицы отлично.

Тем не менее, я хотел бы разместить колонку 4., которая показывает развитие с 2012 по 2013 год с индикатором (Negativ красный, нейтральный желтый, а положительное развитие - зеленый).

В Sql я бы просто повернуть мои данные следующим образом:

SELECT KPI,  
     AVG(case when [year] = 2013 then indeks ELSE NULL end) as [2013], 
     AVG(case when [year] = 2012 then indeks ELSE NULL end) as [2012], 
     AVG(case when [year] = 2011 then indeks ELSE NULL end) as [2011] 
from KVI_overblik 
Group BY KPI 
order BY KPI 

И тогда я бы сделать расчет (KPI.2013 - KPI.2012) в 4 колонке.

Как я могу сделать indeks в запросе SSRS? Чтобы создать таблицу вручную без использования матрицы.

ИЛИ могу я сделать 4. столбец, если я продолжу с матрицей?

Ждем ваших ответов.

Лучшие регаты.

ответ

0

Я решил проблему с помощью матрицы. В матрице я добавил общую сумму строк. Эта сумма представляет собой сумму всех значений строк. Поэтому мне пришлось изменить свое выражение в новой строке общего coulmn:

=IIF(
(isnothing(avg(IIF(Fields!year.Value="2012",Fields!indeks.Value,nothing)))) or (isnothing(avg(IIF(Fields!year.Value="2013",Fields!indeks.Value,nothing)))) 
,nothing 
, 
avg(IIF(Fields!year.Value="2013",Fields!indeks.Value,nothing)) 
-avg(IIF(Fields!year.Value="2012",Fields!indeks.Value,nothing)) 

) 

Я хочу только последние разработки 2013 результата по сравнению с 2012 результатом. Выражение вычисляет развитие.

Наконец, я вставил индикатор в свое вычисленное поле.

Смежные вопросы