Как указать порядок столбцов в матрице?

Я работаю над отчетом SQL Reporting Services (в VS.Net 2005), который отображает количество разных данных в матрице. Столбцы подсчитывают количество клиентов в определенном наборе. Поэтому у меня есть несколько таких столбцов: "1 работодатель", "2-9 работодателей", "10-19 работодателей" и т.д.

Проблема заключается в том, что SQL Reporting Services сортирует столбцы в матрице по алфавиту. Поэтому я столкнулся с столбцом "10-19" после столбца "1 работодатель", но до "2-9".

Есть ли способ исправить это? Или, может быть, трюк, чтобы изменить метки столбцов на то, что они сортируются правильно?

Спасибо.

Ответы

Ответ 1

Мы делаем много отчетов SSRS, и это всегда было проблемой для mdx. Вот один из способов:

Установите сортировку в свойствах группировки и сортировки для сортировки по этому выражению:

=iif(Fields!DataSetField.Value = "ColumnName", "zzz", Fields!DataSetField.Value)

Где "zzz" может быть числом или тем, что вам нужно, чтобы помочь сортировке, а затем выберите "Направление" как восходящую или нисходящую базу для этого выражения.

Ответ 2

Это также можно сделать, добавив новый столбец в запрос для порядка сортировки. Затем щелкните правой кнопкой мыши группу столбцов из матрицы и выберите свойства группы. С левой стороны выберите сортировку. Отсюда вы можете указать другой столбец для сортировки вместо заголовка столбца. Никакой индивидуальной формулы не требуется.

Ответ 3

Это может быть немного запутанным, но у нас была аналогичная проблема, и мы не хотели менять SQL. То, что мы сделали, это создать расчетное поле в наборе данных, которое возвращает число для каждого столбца и сортирует группу на этом номере.

Ответ 4

У меня была аналогичная проблема, но я не нашел решения с использованием матрицы во времени - поэтому я использовал таблицу - и поместил нужную логику матрицы в мои SQL-заявления. Это не лучшая вещь, но она работает - она ​​достаточно быстрая, и писать так долго не требуется.

Ответ 5

Я пошел в MATRIX → PROPERTIES → GROUPS. Затем я "переместил" группу, и я хотел, чтобы она сортировалась по UP в списке. Я пошел в PREVIEW, и он работал отлично. Он даже сохранил мою колонку так же.

Ответ 6

Перейдите в "Редактировать группу" - "Сортировка" - измените направление на нисходящее для выражения.

Ответ 7

Для отдельного числового порядка Tablix используйте следующую строку кода в выражении.

= RunningValue (CountDistinct ( "YourTableName" ), граф, "YourTableName" )