Поделиться через


Ссылки на коллекции ReportItems в отчете с разбивкой на страницы (построитель отчетов)

Область применения: Построитель отчетов (SSRS) Power BI конструктор отчетов построитель отчетов в SQL Server Data Tools

Встроенная коллекция ReportItems является набором текстовых полей из элементов отчета, например строк области данных или текстовых полей в области конструктора отчетов с разбивкой на страницы. Коллекция ReportItems включает текстовые поля, находящиеся в текущей области верхнего колонтитула, нижнего колонтитула или текста отчета. Эта коллекция определяется во время выполнения обработчика отчетов и модуля подготовки отчетов. Текущая область изменяется после успешного объединения обработчиком отчетов данных отчета и элементов макета элементов отчета, когда пользователь просматривает страницы отчета. Встроенная коллекция ReportItems может использоваться для формирования верхних колонтитулов страницы в стиле словаря, отображающих первый и последний элемент на каждой странице.

Примечание.

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

Использование свойства ReportItems Value

Элементы коллекции ReportItems имеют только одно свойство: Value. Значение элемента ReportItems может использоваться для отображения или вычисления данных из другого поля отчета. Чтобы получить доступ к значению текущего текстового поля, можно использовать встроенный глобальный Me.Value или простой Valuevisual Basic. Однако в функциях отчета, таких как First и агрегатных функциях, необходимо использовать полный синтаксис.

Например:

  • Это выражение, помещенное в текстовое поле, отображает значение текстового поля ReportItem с именем Textbox1:

    =ReportItems!Textbox1.Value

  • Это выражение, помещенное в текстовое поле ReportItem свойства Color, отображает текст черным цветом, если значение > 0, в противном случае — красным:

    =IIF(Me.Value > 0,"Black","Red")

  • Это выражение, помещенное в текстовое поле верхнего или нижнего колонтитула, отображает на каждой странице отчета, готового для просмотра, первое значение текстового поля LastName:

    =First(ReportItems("LastName").Value)

Выражения заголовков страниц в стиле словаря

Можно создать верхний колонтитул, который будет отображать на странице первого и последнего клиентов. Так как текстовое поле в верхнем колонтитуле может ссылаться на встроенную коллекцию ReportItems только один раз в выражении, необходимо добавить в верхний колонтитул два текстовых поля: одно для имени первого клиента (=First(ReportItems!textboxLastName.Value), второе для имени последнего клиента (=Last(ReportItems!textboxLastName.Value).

В разделе верхнего или нижнего колонтитула только текстовые поля текущей страницы доступны как члены коллекции ReportItems . Например, если ReportItems!textboxLastName.Value ссылается на текстовое поле, которое отображается только на первой странице для области данных с несколькими страницами, отображается значение первой страницы, но все остальные страницы отображаются #Error , чтобы показать выражение не удалось оценить как написанное.

Область для коллекции ReportItems

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

Например, текстовое поле в строке, находящейся в родительской группе, не должно содержать выражение, ссылающееся на имя текстового поля в строке дочерней группы. Такое выражение не разрешает значение в отчете, так как текстовое поле дочерней строки выходит из области. Дополнительные сведения см. в справочнике по агрегатным функциям (построитель отчетов).