Usando referências a campos internos em expressões (Construtor de Relatórios 2.0)
A coleção de campos internos que inclui as coleções de Globals e de User representa valores globais fornecidos pelo Reporting Services quando um relatório é processado. A coleção de Globals fornece valores, como o nome do relatório, a hora em que o seu processamento foi iniciado e os números das páginas atuais para o cabeçalho ou o rodapé do relatório. A coleção de User fornece o identificador de usuário e configurações de idioma. Esses valores podem ser usados em expressões para filtrar resultados em um relatório.
Usando a coleção de globais
A coleção de Globals contém as variáveis globais para o relatório. Na superfície de design, essas variáveis são exibidas prefixadas com um & (e comercial), por exemplo, [&ReportName]. A tabela a seguir descreve os membros da coleção Globals.
Membro |
Tipo |
Descrição |
---|---|---|
ExecutionTime |
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 que pode ser usado apenas no cabeçalho e no rodapé da página. |
ReportBuilder |
String |
O caminho completo para a pasta que contém o relatório. Isso não inclui a URL do servidor de relatório. |
ReportName |
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 na qual o relatório está sendo executado. |
TotalPages |
Integer |
O número total de páginas no relatório que pode ser usado apenas no cabeçalho e no rodapé da página. |
Membros da coleção de Globals 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, consulte Trabalhando com tipos de dados em expressões (Construtor de Relatórios 2.0).
Exemplos
Os exemplos a seguir mostram como usar uma referência à coleção de Globals 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 do Microsoft.NET Framework para data abreviada:
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
Usando a coleção de usuário
A coleção de User contém dados sobre o usuário que está executando o relatório. É possível usar essa coleção para filtrar os dados exibidos em um relatório, por exemplo, mostrando apenas os dados do usuário atual ou para exibir a ID do usuário, por exemplo, em um título do relatório. Na superfície de design, essas variáveis são exibidas prefixadas com um & (e comercial), por exemplo, [&UserID].
A tabela a seguir descreve os membros da coleção User.
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 a Autenticação do Windows estiver sendo usada, 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 oferecer suporte a diversos idiomas em um relatório, consulte "Solution Design Considerations for Multi-Lingual or Global Deployments" na documentação do Reporting Services nos Manuais Online do SQL Server.
Usando configurações de localidade
É possível usar expressões para se fazer referência a configurações de localidade em um computador cliente por meio do valor de User.Language para determinar como um relatório é exibido 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 se 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 a ID de usuário para relatórios de instantâneo ou de histórico
Em alguns casos, os relatórios que incluem a variável User!UserID não mostrarão os dados de relatório específicos do usuário atual que está exibindo o relatório. Para obter mais informações, consulte "Troubleshooting Report Processing Problems" na documentação do Reporting Services nos Manuais Online do SQL Server.
Consulte também