Группировка категорий SSRS

Я пытаюсь создать сгруппированную категорию на гистограмме в SSRS.

Мой запрос:

select distinct filedate, transaction_date, duedate, event_instance, event_name, eventstatus 
(datediff(DD, duedate, filedate)+1) as DaysAged,
-(DATEDIFF(WK, duedate, filedate) *2) 
-(case when DATENAME(DW, duedate) = 'sunday' then 1 else 0 end)
-(case when DATENAME(DW, FileDate) = 'saturday' then 1 else 0 end) as wkends
from MY TABLE where filedate =
    (select MAX(filedate) from MY TABLE)
and FileDate > duedate

В службах Reporting Services я создал вычисляемое поле для суммирования «дней» за вычетом значения «недели». Это дает мне, сколько дней просрочено. На моей гистограмме я хочу иметь столбцы для 0-5 дней, 5-10 дней, 11-15 дней и 16+ дней.

Я пробовал следующее выражение, но не могу отсортировать столбцы или столбцы на графике.

=IIf(Fields!Total_Aged_Days.Value<=5,"0-5 Days", IIF(Fields!Total_Aged_Days.Value<=10,"6-10 Days", IIF(Fields!Total_Aged_Days.Value<=15,"11-15 Days", "16+ Days")))

Заранее спасибо за помощь. Я использую SSRS 2008.


person BIReportGuy    schedule 04.11.2014    source источник


Ответы (1)


Вы на правильном пути. Выражение имеет смысл; Я немного изменил его, чтобы использовать Switch:

=Switch(
  Fields!Total_Aged_Days.Value<=5, "0-5 Days"
  , Fields!Total_Aged_Days.Value<=10, "6-10 Days"
  , Fields!Total_Aged_Days.Value<=15, "11-15 Days"
  , true, "16+ Days"
)

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

=Switch(
  Fields!Total_Aged_Days.Value<=5, 1
  , Fields!Total_Aged_Days.Value<=10, 2
  , Fields!Total_Aged_Days.Value<=15, 3
  , true, 4
)

Это даст ожидаемый порядок для ваших групп. Добавьте выражение сортировки в группу категорий или где угодно.

person Ian Preston    schedule 04.11.2014
comment
@ Карл, это тебе вообще помогло? - person Ian Preston; 13.11.2014
comment
Ян, да, это было очень полезно. Большое спасибо! - person BIReportGuy; 24.11.2014
comment
@Hermanator Добро пожаловать! Если ответ поможет решить вашу проблему, подумайте о том, чтобы сделать его принятым: meta.stackexchange.com/questions/5234/ - person Ian Preston; 25.11.2014