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


Использование в выражениях ссылок на встроенные поля (службы Reporting Services)

Коллекция «Встроенные поля», включающая как коллекцию Globals, так и коллекцию User, представляет глобальные значения, предоставленные службами Reporting Services при обработке отчета. Коллекция Globals предоставляет такие значения, как имя отчета, время начала обработки отчета и текущее количество страниц для верхнего или нижнего колонтитула отчета. Коллекция User предоставляет идентификатор пользователя и параметры языка. Эти значения можно использовать в выражениях для фильтрации результатов отчета.

Использование коллекции Globals

Коллекция Globals содержит глобальные переменные отчета. В области конструктора эти переменные появляются с указанным перед ними & (амперсандом), например [&ReportName]. Следующая таблица описывает элементы коллекции Globals.

Элемент

Тип

Описание

ExecutionTime

DateTime

Дата и время начала выполнения отчета.

PageNumber

Integer

Номер текущей страницы, который может использоваться только в верхнем и нижнем колонтитулах страницы.

ReportFolder

String

Полный путь к папке, содержащей отчет. Не включает в себя URL-адрес сервера отчетов.

ReportName

String

Имя отчета в том виде, в каком оно хранится в базе данных сервера отчетов.

ReportServerUrl

String

URL-адрес сервера отчетов, на котором выполняется отчет.

TotalPages

Integer

Общее число страниц отчета, которое может использоваться только в верхнем и нижнем колонтитулах страницы.

Элементы коллекции Globals возвращают тип variant. Если нужно использовать элемент этой коллекции в выражении, требующем определенный тип данных, необходимо сначала привести переменную. Например, чтобы преобразовать тип данных времени выполнения variant в формат Date, используйте синтаксис =CDate(Globals!ExecutionTime). Дополнительные сведения см. в разделе Работа с типами данных в выражениях (службы Reporting Services).

Примеры

Следующие примеры показывают использование ссылки на коллекцию Globals в выражении.

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

    =Globals.PageNumber & " of " & Globals.TotalPages

  • Это выражение сообщает имя отчета и время его выполнения. Время представляется в формате короткой даты платформы Microsoft.NET Framework:

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")

Использование коллекции User

Коллекция User содержит данные о пользователе, выполняющем отчет. Эту коллекцию можно использовать для фильтрации данных, появляющихся в отчете; например, можно отобразить только данные текущего пользователя или отобразить идентификатор пользователя, к примеру, в заголовке отчета. В области конструктора эти переменные появляются с указанным пере ними & (амперсандом), например [&UserID].

Следующая таблица описывает элементы коллекции User.

Элемент

Тип

Описание

Language

String

Язык пользователя, выполняющего отчет. Например, en-US.

UserID

String

Идентификатор пользователя, запустившего отчет. Если используется проверка подлинности Windows, то это значение является учетной записью домена текущего пользователя. Значение определяется модулем безопасности служб Службы Reporting Services, который может использовать проверку подлинности Windows или нестандартную проверку подлинности.

Дополнительные сведения о поддержке нескольких языков в отчете см. в разделе Вопросы проектирования решений для многоязычного или глобального развертывания (службы Reporting Services).

Использование параметров локали

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

Примечание

Хотя в отчете можно изменять языковые параметры, нужно следить за всеми проблемами отображения, которые могут при этом возникнуть. Например, изменение параметра локали отчета может изменить в нем не только формат даты, но и формат денежной единицы. Если в поле валюты не использовано преобразование, это может привести к отображению в отчете неверного символа валюты. Во избежание этого устанавливайте языковые настройки для отдельных элементов, которые нужно изменять, или настройте этот элемент на отображение денежных данных на определенном языке.

Определение переменной UserID для моментального снимка или отчетов журнала

В некоторых случаях отчеты, содержащие переменную User!UserID, не смогут отобразить данные отчета, относящиеся к текущему пользователю, просматривающему отчет. Дополнительные сведения см. в разделе Устранение неполадок отчетов: отчеты, экспортированные в определенный формат файлов.

См. также

Справочник

Диалоговое окно «Выражение»

Примеры выражений (службы Reporting Services)

Основные понятия

Работа с типами данных в выражениях (службы Reporting Services)

Основные сведения о простых и сложных выражениях (службы Reporting Services)

Формат чисел и дат