Ссылки на коллекции 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
или простой Value
visual 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 является текущая область или любая точка, находящаяся выше текущей области.
Например, текстовое поле в строке, находящейся в родительской группе, не должно содержать выражение, ссылающееся на имя текстового поля в строке дочерней группы. Такое выражение не разрешает значение в отчете, так как текстовое поле дочерней строки выходит из области. Дополнительные сведения см. в справочнике по агрегатным функциям (построитель отчетов).