Встроенные глобальные и пользовательские ссылки в отчете с разбивкой на страницы (построитель отчетов)
Область применения: Построитель отчетов (SSRS) Power BI конструктор отчетов построитель отчетов в SQL Server Data Tools
Встроенная коллекция полей, включающая как коллекцию Глобальные переменные, так и коллекцию Пользователь, представляет глобальные значения, предоставленные службами Reporting Services при обработке отчета с разбивкой на страницы. Коллекция Globals предоставляет такие значения, как имя отчета, время начала обработки отчета и текущее количество страниц для верхнего или нижнего колонтитула отчета. Коллекция User предоставляет идентификатор пользователя и параметры языка. Эти значения можно использовать в выражениях для фильтрации результатов отчета.
Примечание.
Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.
Использование коллекции Globals
Коллекция Globals содержит глобальные переменные отчета. В области конструктора эти переменные отображаются с префиксом & (амперсандом), например [&ReportName]
. Следующая таблица описывает элементы коллекции Globals .
Член | Тип | Description |
---|---|---|
ExecutionTime | DateTime | Дата и время начала выполнения отчета. |
PageNumber | Целое число | Номер текущей страницы относительно разрывов страниц, сбрасывающих номера страниц. В начале обработки отчета начальное значение задается 1 . Номер страницы наращивается для каждой страницы, подготовленной к просмотру.Чтобы нумеровать страницы в разрывах страниц для прямоугольника, области данных, группы областей данных или карты в свойстве PageBreak задайте для свойства ResetPageNumber значение True. Не поддерживается для иерархии групп столбцов табликса. PageNumber можно использовать только в выражении в нижнем колонтитуле страницы. |
ReportFolder | String | Полный путь к папке, содержащей отчет. Этот элемент не содержит URL-адрес сервера отчетов. |
ReportName | String | Имя отчета в том виде, в каком оно хранится в базе данных сервера отчетов. |
ReportServerUrl | String | URL-адрес сервера отчетов, на котором выполняется отчет. |
TotalPages | Целое число | Общее количество страниц относительно разрывов страниц, сбрасывающих pageNumber. Если разрывы страниц не заданы, это значение совпадает со значением OverallTotalPages. TotalPages можно использовать только в выражении в нижнем колонтитуле страницы. |
PageName | String | Имя страницы. В начале обработки отчета начальное значение задается из InitialPageName, свойства отчета. По мере обработки каждого элемента отчета это значение заменяется соответствующим значением PageName из прямоугольника, области данных, группы областей данных или карты. Не поддерживается для иерархии групп столбцов табликса. PageName может использоваться только в выражении в нижнем колонтитуле страницы. |
OverallPageNumber | Целое число | Номер текущей страницы в масштабе всего отчета. Это значение не влияет на значение ResetPageNumber. Общее значениеPageNumber можно использовать только в выражении в нижнем колонтитуле страницы. |
OverallTotalPages | Целое число | Общее число страниц, относящееся ко всему отчету. Это значение не влияет на значение ResetPageNumber. Общие данныеTotalPage можно использовать только в выражении в нижнем колонтитуле страницы. |
RenderFormat | RenderFormat | Информация о текущем запросе на подготовку к просмотру. Дополнительные сведения см . в разделе RenderFormat в следующем разделе. |
Элементы коллекции Globals возвращают тип variant. Если нужно использовать элемент этой коллекции в выражении, требующем определенный тип данных, необходимо сначала привести переменную. Например, чтобы преобразовать тип данных времени выполнения variant в формат Date, используйте синтаксис =CDate(Globals!ExecutionTime)
. Дополнительные сведения см. в разделе "Типы данных" в выражениях (построитель отчетов).
RenderFormat
В следующей таблице приведены описания элементов для RenderFormat.
Элемент | Тип | Description |
---|---|---|
Имя. | String | Имя отрисовщика, зарегистрированного RSReportServer в файле конфигурации.Доступно на протяжении конкретных участков цикла обработки отчета и подготовки его к просмотру. |
IsInteractive | Boolean | Указывает, использует ли текущий запрос отрисовки интерактивный формат отрисовки. |
DeviceInfo | Предназначенная только для чтения коллекция «имя/значение» | Пары "Ключ-значение" для параметров deviceinfo для текущего запроса на отрисовку. Строковые значения могут быть заданы с помощью ключа или индекса в коллекции. |
Примеры
Следующие примеры показывают использование ссылки на коллекцию Globals в выражении.
Это выражение, помещенное в текстовое поле нижнего колонтитула отчета, содержит номер страницы и общее количество страниц в отчете:
=Globals.PageNumber & " of " & Globals.TotalPages
Это выражение сообщает имя отчета и время его выполнения. Время представляется в формате короткой даты платформы Microsoft .NET Framework:
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Это выражение, размещенное в диалоговом окне видимости столбца для выбранного столбца, отображает столбец только в том случае, если отчет экспортируется в Excel. В противном случае столбец будет скрыт.
EXCELOPENXML
относится к формату Excel, который используется в Office 2007.EXCEL
означает формат Excel, который используется в Office 2003.=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)
Использование коллекции User
Коллекция User содержит данные о пользователе, выполняющем отчет. Эту коллекцию можно использовать для фильтрации данных, отображаемых в отчете. Например, можно отобразить только данные текущего пользователя или отобразить идентификатор пользователя, например в заголовке отчета. В области конструктора эти переменные отображаются с префиксом & (амперсандом), например [&UserID]
.
Следующая таблица описывает элементы коллекции User .
Член | Тип | Description |
---|---|---|
Язык | String | Язык пользователя, выполняющего отчет. Например, en-US . |
UserID | String | Идентификатор пользователя, запустившего отчет. Если вы используете проверку подлинности Windows, это значение является учетной записью домена текущего пользователя. Расширение безопасности построитель отчетов определяет значение, которое может использовать проверку подлинности Windows или пользовательскую проверку подлинности. |
Использование параметров языкового стандарта
В выражениях можно обращаться к параметрам локали на клиентском компьютере через значение User.Language для определения способа отображения отчета пользователю. Например, можно создать отчет, использующий выражение запроса, различающимся в зависимости от значения локали. Запрос может измениться, чтобы получить локализованные сведения из другого столбца в зависимости от возвращаемого языка. Выражения на основе этой переменной можно также использовать в языковых параметрах отчета или его элементов.
Примечание.
Хотя в отчете можно изменять языковые параметры, нужно следить за всеми проблемами отображения, которые могут при этом возникнуть. Например, изменение параметра локали отчета может изменить в нем не только формат даты, но и формат денежной единицы. Если в поле валюты не использовано преобразование, это может привести к отображению в отчете неверного символа валюты. Во избежание этого устанавливайте языковые настройки для отдельных элементов, которые нужно изменять, или настройте этот элемент на отображение денежных данных на определенном языке.
Определение Идентификатора пользователя для отчетов моментального снимка или журнала
В некоторых случаях отчеты, включающие пользователя! Переменная UserID не отображает данные отчета, относящиеся к текущему пользователю, который просматривает отчет.