Переопределить сортировку в SQL Server 2008 Report Builder 3.0? - PullRequest
1 голос
/ 10 мая 2011

Я создал набор данных с запросом SQL в построителе отчетов 3.0.Я НЕ указал order by в запросе, но вместо этого использовал union all, чтобы сложить результаты в нужном мне порядке.Первый столбец в этом наборе данных называется Product.

Когда я создаю таблицу в построителе отчетов, ссылаясь на столбец Product, он по какой-либо причине хочет по умолчанию сортировать этот столбец по алфавиту - чего я не хочу.

Что я могу сделать ??Построитель отчетов 3.0 кажется довольно примитивным, поэтому, если я ничего не могу поделать с этим раздражением, пусть будет так.

Ответы [ 3 ]

1 голос
/ 18 мая 2011

@ Catcall абсолютно прав в отношении того, что набор результатов 'неопределен'. Однако я думаю, что причина, по которой вы видите результаты, отсортированные по первому столбцу, возможно, в том, что вы использовали мастер построителя отчетов для создания выходной таблицы. Это приводит к созданию группы вложенных строк и, вероятно, сначала группирует по продукту и, таким образом, сортирует по продукту.

Если вы создаете новую таблицу и оставляете строку как строки «детали» (она будет отображаться в виде знака равенства, а не скобки / скобки), то обычно построитель отчетов будет выводить в порядке, возвращаемом запросом.

ОДНАКО, лучше всего явно указывать сортировщик, я бы использовал RANK() или аналогичный в каждом запросе, чтобы получить числовой столбец SortOrder. Затем используйте это в построителе отчетов в качестве выражения сортировки.

1 голос
/ 08 апреля 2015

Попробуйте удалить параметры сортировки в группах строк. (Свойства группы / Сортировка).

Затем добавьте новую сортировку в свойствах табликса. https://msdn.microsoft.com/en-us/library/dd255193.aspx

0 голосов
/ 10 мая 2011

Я НЕ указал заказ в запрос, но вместо этого использовал объединение всех в складывать результаты в порядке I хотел.

При отсутствии явного предложения ORDER BY строки заказа будут возвращены неопределенными. Это может - и часто делает - изменяется от одного запуска к другому, поскольку среда выполнения изменяется. Если вы не укажете ORDER BY, оптимизатор запросов может свободно возвращать строки в том порядке, который он считает наиболее эффективным. Вы не можете полагаться на то, что каждый раз будете делать один и тот же выбор.

Возможно, построитель отчетов соблюдает явный ORDER BY в базовом запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...