1

У меня возникла проблема для пользовательской сортировки, необходимой для одной из групп строк, которые у меня есть в таблице SSRS.Отчет SSRS Пользовательский порядок сортировки

Логика для пользовательского порядка сортировки -

Если значение строки группа содержит определенное значение, то она должна всегда отображаться в нижней части, а все остальные значения должны отображаться в порядке возрастания.

См., Например, -

Предположим из списка значений A,E,G,D,C,and F «D» всегда следует отображать последним, а остальные элементы должны быть отсортированы в порядке возрастания.

Таким образом, приведенный выше список должен быть отсортирован в следующем порядке - A,B,C,E,F,G,D

Или, если список элементов - P,J,M,N,D,C,K требуемый порядок сортировки - C,J,K,M,N,P and D.

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

Буду признателен, если кто-то может помочь мне в этом.

спасибо.

ответ

1

Попробуйте использовать следующее выражение в настройке Сортировка.

=IIF(
Fields!YourField.Value="D","ZZZZ" & Fields!YourField.Value, 
Fields!YourField.Value 
) 

Это будет сортировать вашу группу, если у вас нет групп, чьи первые первые буквы ZZZZ.

Дайте мне знать, если это поможет.

+0

Нет, не работает. :( –

+0

hi alejandro, это сработало. На самом деле я переименовал поле с чем-то другим и сортировал его с другим полем. –

2

Я использую IIF (или несколько IIF), чтобы сделать такие виды, как это.

Для вашей ситуации:

A, E, G, D, C и F, D должны быть всегда отображаются последними и другие элементы должны быть отсортированы в ИСС

Я бы сначала сделать пользовательский вид:

=IIF(Fields!MyFIeld.Value = "D", 2, 1) 

Это сортировать D первый.

Затем добавьте второй Сортировка, который просто использует поле (Myfield), чтобы отсортировать остальное по полю.

Для второй ситуации:

если список элементов - P, J, M, N, D, С, К требуемый порядок сортировки С, J, К, М, N, P и D

Тогда я сделал бы один пользовательский вид с нескольких IIF сек:

=IIF(Fields!MyFIeld.Value = "C", 1, 
IIF(Fields!MyFIeld.Value = "J", 2, 
IIF(Fields!MyFIeld.Value = "K", 3, 
IIF(Fields!MyFIeld.Value = "M", 4, 
IIF(Fields!MyFIeld.Value = "N", 5, 
IIF(Fields!MyFIeld.Value = "P", 6, 
IIF(Fields!MyFIeld.Value = "D", 7, 8))))))) 
    -
+0

Я исправил свое первое выражение, я пропустил, где ** D ** был последним, а не первым. –

+0

Привет, проблема в том, что значения MyField получают динамическое заполнение. Чтобы объяснить сценарий, я использовал жестко закодированные значения. –

+0

После сортировки с '= IIF (Fields! MyFIeld.Value =" D ", 2, 1)', не могли бы вы объяснить, какова будет ваша вторая логика сортировки? –

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