Несколько групповых выражений в списке (ssrs 2005) - PullRequest
1 голос
/ 09 июня 2010

У меня проблема с групповыми выражениями в списке. Я хочу использовать два выражения:

=Ceiling(RowNumber(Nothing)/3)' and '=Cint(Fields!kpilevel.Value)

Они работают по отдельности, но когда я их вставляю, работает только 1. Я вставил их так: img718.imageshack.us/img718/736/problemxq.png

Кто-нибудь знает, как это решить?

Заранее спасибо, Крис


РЕДАКТИРОВАТЬ: Лучшее объяснение

Марк, вы правы, я не очень хорошо это объяснил.

Я хочу поместить данные в матрицу, содержащую максимум три столбца в строке, и хочу отсортировать данные с помощью выражения: = Cint (Fields! Kpilevel.Value). Поэтому я хочу использовать оба выражения: Ceiling (RowNumber (Nothing) / 3) и Cint (Fields! Kpilevel.Value).

Но я не могу получить правильный вывод. Я пытался разместить свои группировки и сортировки выражений несколькими способами. С разными результатами:

Последняя ситуация: http://img257.imageshack.us/img257/5765/10569159.png (изображение удалено)

Другой выход:


Список - Свойства

Сортировка: =Cint(Fields!kpilevel.Value) ascending

Список - свойства группировки и сортировки

Группа на:

=Ceiling(RowNumber(Nothing)/3)

=Cint(Fields!kpilevel.Value)

Сортировка:

=Cint(Fields!kpilevel.Value) ascending

Matrix columngroup - Свойства группировки и сортировки

Группа на:

=RowNumber("list1_Details_Group")

Вывод: (без группировки, но отсортированный)

1

2

3

4

и т.д.


Список - Свойства

-

Список - свойства группировки и сортировки

Группа на:

=Ceiling(RowNumber(Nothing)/3)

=Cint(Fields!kpilevel.Value)

Сортировка:

=Cint(Fields!kpilevel.Value) ascending

Matrix columngroup - свойства группировки и сортировки

Группа на:

=RowNumber("list1_Details_Group")

Вывод: (без группировки и без сортировки)

1

2

9

10

и т.д.


Список - Свойства

Сортировка:

=Cint(Fields!kpilevel.Value) ascending

Список - свойства группировки и сортировки

Группа на:

=Ceiling(RowNumber(Nothing)/3)

Matrix columngroup - Свойства группировки и сортировки

Группа на:

=RowNumber("list1_Details_Group")

Вывод: (сгруппированный, но не отсортированный)

1 2 9

4 7 3

10 и т. Д.


Список - Свойства

-

Список - свойства группировки и сортировки

Группа на:

=Ceiling(RowNumber(Nothing)/3)

Matrix columngroup - Свойства группировки и сортировки

Группа на:

=RowNumber("list1_Details_Group")

Сортировка:

=Cint(Fields!kpilevel.Value)

Вывод: (сгруппированный, но странно отсортированный)

1 2 9

10 11 13

3 4 7

12


Надеюсь, это проясняет ситуацию, Крис

1 Ответ

1 голос
/ 09 июня 2010

После этого я заметил некоторые довольно странные эффекты при группировании по функциям элементов данных в матрицах в SSRS, а не по самим элементам данных.

По этой причине в этом контексте я бы рекомендовал:

  • с использованием таблицы, а не матрицы
  • сортировка таблицы (или набора данных) по Cint (Fields! Kpilevel.Value)
  • группировка таблицы по Ceiling (RowNumber (Nothing) / 3)
  • включает только строки нижнего колонтитула группы (без верхнего / нижнего колонтитула таблицы, сведений или верхнего колонтитула группы)
  • имеет 3 столбца в отчете
  • условновывод в каждой ячейке, в зависимости от того, равен ли RowNumber (Nothing) mod 3 0, 1 или 2

В качестве альтернативы, если он имеет в матрице, то (при условиивы используете источник данных SQL) Я бы порекомендовал

  • сгруппировать запрос по int (kpilevel)
  • упорядочить вывод запроса по int (kpilevel)
  • включая значения display_row и display_column в запросе,определяется как потолок rownumber / 3 и модуль rownumber с 3 соответственно
  • , определяя группы строк и столбцов вашей матрицы как значения display_row и display_column из запроса соответственно.
...