Несколько таблиц, которые отличаются друг от друга несколькими строками данных на таблицу, используя один и тот же набор данных в одном отчете - PullRequest
0 голосов
/ 17 мая 2019

У меня есть отчет SSRS, который содержит 3 табликса, использующих тот же набор данных.Первые 2 Tablix имеют фильтр сотрудников «E», а третий Tablix имеет фильтр сотрудников «D».У каждого из 3 табликсов есть родительская группа EmployeeName.

Когда я запускаю отчет для 1 человека, все отображается так, как нужно, на одной странице, показывая только информацию для одного сотрудника в каждом соответствующем табликсе.Когда я выбираю 2 сотрудников, каждый табликс показывает каждого сотрудника один за другим вместо 1 сотрудника на одной странице, второго сотрудника на странице 2 и т. Д.

Как получить информацию об одном сотруднике на страницу для всех 3 табликсов.

Я пробовал ListView и Rectangle с одинаковыми результатами.

Я хочу получать информацию по одному сотруднику на страницу для всех трех таблиц.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Вам необходимо использовать подотчеты ВМЕСТЕ с табликсом и группой, о которой вы сообщаете. Это позволит сотрудникам хранить свои данные в группе индивидуально.

0 голосов
/ 17 мая 2019

Я считаю, что самый простой способ сделать это с помощью подотчетов.

Сделайте резервную копию вашего текущего отчета перед началом ...

Теперь отредактируйте текущий отчет, чтобы он принимал только одного сотрудника, так как вы знаете, что он работает нормально. Сохраните отчет и назовите его как subEmpReport

Далее создайте новый пустой отчет.

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

Таким образом, запрос для вашего набора данных (для этого примера называется dsEmpList) будет выглядеть примерно так:

SELECT DISTINCT employeeID 
    FROM myEmployeeTable 
    WHERE employeeID = @empID

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

Теперь создайте таблицу в своем дизайне отчета и установите для ее набора данных значение dsEmpList (набор данных, который мы только что создали).

Удалите все строки и столбцы из таблицы, кроме одной, так что у вас останется только одна «ячейка». Разверните эту ячейку, чтобы она соответствовала ширине вашего отчета.

Теперь щелкните правой кнопкой мыши на ячейке и сделайте Insert => Sub report. Щелкните правой кнопкой мыши этот новый заполнитель подотчета и выберите свойства. Установите подотчет на subEmpReport, который мы создали в начале. Перейдите на вкладку параметров в том же диалоговом окне и задайте для имени параметра имя параметра в вашем подотчете . Установите значение из раскрывающегося списка, которое должно быть просто employeeID (это имя поля из dsEmpList, созданного ранее.

Помимо небольшого форматирования, которое должно быть.

Когда отчет запускается, запускается «основной» отчет, создавая строку в таблице для каждой записи сотрудника в dsEmpList, каждая строка будет содержать ваш подчиненный отчет, а в каждый вложенный отчет будет передан employeeID.

...