Сортировка вложенных отчетов построителя отчетов SSRS - PullRequest
0 голосов
/ 20 марта 2019

У меня есть отчет SSRS, который содержит 20 подчиненных отчетов. Каждый подотчет представляет фазу в определенном цикле. Все подотчеты идентичны по форматированию и тому подобному, содержат конкретные данные для этой фазы и отображают даты начала и окончания. Мне было интересно, есть ли способ в построителе отчетов по сути сделать эти подотчеты динамичными и отсортировать себя по их конкретным датам начала, вместо того, чтобы просто отображать их в списке, указанном в моем отчете?

1 Ответ

0 голосов
/ 21 марта 2019

Это довольно просто.

У вас уже есть основной отчет и подчиненные отчеты, так что это хорошо.Я предполагаю, что ваш подотчет принимает параметр, который указывает фазу.

Предполагая это, скажем, параметр, принимаемый вашим подотчетом, называется pPhase

  1. В вашем основном отчете удалитевсе существующие подотчеты
  2. Далее создайте набор данных, назовем его dsLoop
  3. Установить запрос набора данных dsLoop s для возврата фаз в порядке, например SELECT DISTINCT PhaseNumber from myTable ORDER BY PhaseNumber
  4. Теперь добавьте элемент управления таблицей, удалите строку заголовка и два столбца, оставив только одну ячейку.
  5. Сделайте эту ячейку настолько широкой, насколько вам нужно, достаточно широкой для вашего подотчета, высота не имеет значения.
  6. Установите для свойства DataSetName таблицы значение dsLoop
  7. В оставшейся ячейке щелкните правой кнопкой мыши и выберите Insert --> Subreport.Элемент управления подотчета заполнит ячейку.
  8. Щелкните правой кнопкой мыши элемент управления подотчета и выберите Subreport Properties, выберите свой подотчет из списка
  9. Все еще в свойствах подотчета, нажмите вкладку параметров, добавьтеновый параметр.
  10. Установите в качестве имени имя параметра, которое принимает ваш подотчет (pPhase в нашем примере).Наконец, установите в качестве значения имя поля, содержащего данные вашего параметра (PhaseNumber в нашем примере)

Вот и все ...

Теперь, когда запускается основной отчетв вашей таблице будет создана строка для каждой записи в dsLoop, каждая строка будет содержать ваш подотчет, и в каждой будет передан параметр, относящийся к каждой строке.

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

...