Compartilhar via


Referências globais e de usuários integradas (Construtor de Relatórios e SSRS)

A coleção de campos internos, que inclui as coleções Globals e User, representam valores globais fornecidos pelo Reporting Services quando um relatório é processado. A Globals coleção fornece valores como o nome do relatório, a hora em que o processamento do relatório começou e os números de página atuais para o cabeçalho ou rodapé do relatório. A User coleção fornece o identificador de usuário e as configurações de idioma. Esses valores podem ser usados em expressões para filtrar resultados em um relatório.

Observação

Você pode criar e modificar definições de relatório (.rdl) no Construtor de Relatórios e no Designer de Relatórios no SQL Server Data Tools. Cada ambiente de criação fornece diferentes maneiras de criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Criando relatórios no Designer de Relatórios e no Construtor de Relatórios (SSRS) na Web em microsoft.com.

Usando a coleção Globals

A Globals coleção contém as variáveis globais do relatório. Na superfície de design, essas variáveis são exibidas prefixadas por um & (E comercial), por exemplo, [&ReportName]. A tabela a seguir descreve os membros da Globals coleção.

Membro Tipo Descrição
Tempo de Execução DateTime A data e a hora em que o relatório começou a ser executado.
PageNumber Integer O número da página atual em relação às quebras de página que redefinem o número da página. No início do processamento do relatório, o valor inicial é definido como 1. O número da página é incrementado para cada página renderizada.

Para numerar páginas dentro de quebras de página para um retângulo, uma região de dados, um grupo de região de dados ou um mapa, na propriedade PageBreak, defina a propriedade ResetPageNumber como True. Sem suporte em grupos de hierarquias de colunas tablix.

PageNumber só pode ser usado em uma expressão em um cabeçalho de página ou rodapé de página.
ReportFolder String O caminho completo para a pasta que contém o relatório. Isso não inclui a URL do servidor de relatório.
Nome do Relatório String O nome do relatório conforme armazenado no banco de dados do servidor de relatório.
ReportServerUrl String A URL do servidor de relatório no qual o relatório está sendo executado.
TotalPages Integer O número total de páginas afetadas pelas quebras de página que causam a redefinição do PageNumber. Se nenhuma quebra de página for definida, esse valor será o mesmo que OverallTotalPages.

TotalPages só pode ser usado em uma expressão em um cabeçalho de página ou rodapé de página.
NomeDaPágina String O nome da página. No início do processamento do relatório, o valor inicial é definido a partir de InitialPageName, uma propriedade de relatório. À medida que cada item de relatório é processado, esse valor é substituído pelo valor correspondente de PageName de um retângulo, uma região de dados, um grupo de regiões de dados ou um mapa. Sem suporte em grupos de hierarquias de colunas tablix.

PageName só pode ser usado em uma expressão em um cabeçalho de página ou rodapé de página.
NúmeroTotalDePáginas Integer O número da página atual para todo o relatório. Esse valor não é afetado por ResetPageNumber.

OverallPageNumber só pode ser usado em uma expressão em um cabeçalho de página ou rodapé de página.
Total Geral de Páginas Integer O número total de páginas para todo o relatório. Esse valor não é afetado por ResetPageNumber.

OverallTotalPages só pode ser usado em uma expressão em um cabeçalho de página ou rodapé de página.
RenderFormat RenderFormat Informações sobre a solicitação de renderização atual.

Para obter mais informações, consulte "RenderFormat" na próxima seção.

Os membros da Globals coleção retornam uma variante. Se você desejar usar um membro dessa coleção em uma expressão que exige um tipo de dados específico, deverá primeiro converter a variável. Por exemplo, para converter a variante de tempo de execução em um formato de Data, use =CDate(Globals!ExecutionTime). Para obter mais informações, confira Tipos de dados em expressões (Construtor de Relatórios e SSRS).

RenderFormat

A tabela a seguir descreve os membros para RenderFormat.

Membro Tipo Descrição
Nome String O nome do renderizador conforme registrado no arquivo de configuração RSReportServer.

Disponível durante partes específicas do ciclo de processamento/renderização do relatório.
IsInteractive Boolean Se a solicitação de renderização atual usa um formato de renderização interativo.
DeviceInfo Coleção de nomes/valores somente leitura Pares de chave/valor para parâmetros de informações do dispositivo para a solicitação atual de renderização.

É possível especificar valores de cadeia de caracteres usando a chave ou um índice na coleção.

Exemplos

Os exemplos a seguir mostram como usar uma referência à Globals coleção em uma expressão:

  • Esta expressão, colocada em uma caixa de texto no rodapé de um relatório, fornece o número da página e o total de páginas no relatório:

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

  • Esta expressão fornece o nome do relatório e a hora em que foi executado. A hora é formatada com a cadeia de caracteres de formatação de data abreviada do Microsoft .NET Framework:

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

  • Essa expressão, colocada na caixa de diálogo Visibilidade da Coluna para uma coluna selecionada, exibe a coluna somente quando o relatório é exportado para o Excel. Caso contrário, a coluna fica oculta.

    EXCELOPENXML se refere ao formato do Excel que é incluído no Office 2007. EXCEL se refere ao formato do Excel que é incluído no Office 2003.

    =IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)

Usando a Coleção de Usuários

A User coleção contém dados sobre o usuário que está executando o relatório. Você pode usar essa coleção para filtrar os dados que aparecem em um relatório, por exemplo, mostrando apenas os dados do usuário atual ou para exibir o UserID, por exemplo, em um título de relatório. Na superfície de design, essas variáveis são exibidas prefixadas por um & (E comercial), por exemplo, [&UserID].

A tabela a seguir descreve os membros da User coleção.

Membro Tipo Descrição
Language String O idioma do usuário que está executando o relatório. Por exemplo, en-US.
UserID String A ID do usuário que está executando o relatório. Se você estiver usando a Autenticação do Windows, esse valor será a conta de domínio do usuário atual. O valor é determinado pela extensão de segurança do Reporting Services, que pode usar a Autenticação do Windows ou a autenticação personalizada.

Para obter mais informações sobre como dar suporte a vários idiomas em um relatório, consulte "Considerações de design de solução para implantações multilíngues ou globais" na documentação do Reporting Services nos Manuais Online do SQL Server.

Usando configurações de região

Você pode usar expressões para se referir às configurações de localidade em um computador cliente por meio do User.Language valor para determinar como um relatório aparece para o usuário. Por exemplo, você pode criar um relatório que usa uma expressão de consulta diferente baseada no valor da localidade. A consulta pode ser alterada para recuperar informações localizadas de uma coluna diferente, dependendo do idioma retornado. Também é possível usar uma expressão nas configurações do idioma do relatório ou de itens de relatório baseados nessa variável.

Observação

Embora seja possível alterar as configurações do idioma de um relatório, você deve ter cuidado em relação a qualquer problema de exibição que isso possa provocar. Por exemplo, a alteração da configuração de localidade do relatório pode alterar o formato de data no relatório, mas também o formato da moeda. Isso pode fazer com que o símbolo da moeda incorreta seja exibido no relatório, a não ser que haja um processo de conversão de moeda. Para evitar isso, defina as informações de idioma sobre os itens individuais que você deseja alterar ou defina o item com os dados de moeda como um idioma específico.

Identificando UserID para relatórios de instantâneo ou histórico

Em alguns casos, relatórios que incluem a variável User!UserID falharão em mostrar dados de relatório específicos ao usuário atual que está vendo o relatório.

Consulte Também

Expressões (Construtor de Relatórios e SSRS)
Caixa de diálogo Expressão (Construtor de Relatórios)
Tipos de dados em expressões (Construtor de Relatórios e SSRS)
Formatando números e datas (Construtor de Relatórios e SSRS)
Exemplos de expressões (Construtor de Relatórios e SSRS)