it-swarm.com.ru

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

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

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

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

Благодарю.

21
Gerrie Schenck

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

Установите Сортировка в Свойства группировки и сортировки , чтобы отсортировать по этому выражению:

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

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

19
Fred Stemp

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

19
BilliD

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

4
Dan Sydner

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

1
Gambrinus

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

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

0
Shakti Singh Chauhan

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

0
Waheed

Я вошел в MATRIX -> СВОЙСТВА -> ГРУППЫ . Затем я "переместил" ГРУППУ, которую я хотел, чтобы она сортировалась по UP в списке . Я пошел в PREVIEW, и он работал отлично ..__ Он даже сохранил мой порядок в колонках.

0
user144688