Usando coleções internas em expressões (Construtor de Relatórios 3.0 e SSRS)

Em uma expressão de um relatório, você pode incluir referências às seguintes coleções internas: ReportItems, Parâmetros, Campos, DataSets, DataSources, Variáveis e campos internos para informações globais, como o nome do relatório. Nem todas as coleções são exibidas na caixa de diálogo Expressão. As coleções de DataSets e DataSources estão disponíveis apenas em tempo de execução para relatórios publicados em um servidor de relatório. A coleção de ReportItems é a coleção de caixas de texto em uma região do relatório, por exemplo, as caixas de texto em uma página ou em um cabeçalho de página.

Para obter mais informações, consulte Expressões (Construtor de Relatórios 3.0 e SSRS).

ObservaçãoObservação

É possível criar e modificar definições de relatórios (.rdl) no Report Builder 3.0 e no Designer de Relatórios no Business Intelligence Development Studio. Cada ambiente de criação fornece diferentes maneiras de criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Projetando e implementando relatórios usando o Designer de Relatórios (Reporting Services) na Web em microsoft.com.

Entendendo as coleções internas

A tabela a seguir lista as coleções internas disponíveis quando você escreve uma expressão. Cada linha inclui o nome programático que diferencia maiúsculas de minúsculas para a coleção, se é possível usar a caixa de diálogo Expressão para adicionar uma referência interativamente à coleção, um exemplo e uma descrição que inclua quando os valores da coleção serão inicializados e estarão disponíveis para uso.

Coleção interna

Categoria na caixa de diálogo Expressão

Exemplo

Descrição

Globals

Campos internos

=Globals.ReportName

- or -

=Globals.PageNumber

Representa variáveis globais úteis para relatórios, como o nome do relatório ou o número da página. Sempre disponível.

Para obter mais informações, consulte Usando referências globais internas e referências de usuário (Construtor de Relatórios 3.0 e SSRS).

User

Campos internos

=User.UserID

- ou -

=User.Language

Representa uma coleção de dados sobre o usuário que executa o relatório, como a configuração de idioma ou a ID de usuário. Sempre disponível.

Para obter mais informações, consulte Usando referências globais internas e referências de usuário (Construtor de Relatórios 3.0 e SSRS).

Parameters

Parâmetros

=Parameters("ReportMonth").Value

- ou -

=Parameters!ReportYear.Value

Representa a coleção de parâmetros do relatório, cada um dos quais pode ter um valor único ou vários valores. Não disponível até que a inicialização do processamento seja executada. Para obter mais informações, consulte Usando referências de coleções de parâmetros (Construtor de Relatórios 3.0 e SSRS).

Fields(<Dataset>)

Campos

=Fields!Sales.Value

Representa a coleção de campos do conjunto de dados disponível para o relatório. Disponível depois que os dados são recuperados de uma fonte de dados em um conjunto de dados. Para obter mais informações, consulte Usando referências de coleções de campos de conjuntos de dados (Construtor de Relatórios 3.0 e SSRS).

DataSets

Não exibido

=DataSets("TopEmployees").CommandText

Representa a coleção de conjuntos de dados referidos no corpo de uma definição de relatório. Não inclui fontes de dados usadas apenas em cabeçalhos ou rodapés de páginas. Não disponível em visualização local. Para obter mais informações, consulte Usando referências a coleções de DataSources e DataSets (Construtor de Relatórios 3.0 e SSRS).

DataSources

Não exibido

=DataSources("AdventureWorks").Type

Representa a coleção de fontes de dados referidas de dentro do corpo de um relatório. Não inclui fontes de dados usadas apenas em cabeçalhos ou rodapés de páginas. Não disponível em visualização local. Para obter mais informações, consulte Usando referências a coleções de DataSources e DataSets (Construtor de Relatórios 3.0 e SSRS).

Variables

Variables

=Variables!CustomTimeStamp.Value

Representa a coleção de variáveis de relatório e variáveis de grupo. Para obter mais informações, consulte Usando referências de coleções de variáveis de grupo e de relatório (Construtor de Relatórios 3.0 e SSRS).

ReportItems

Não exibido

=ReportItems("Textbox1").Value

Representa a coleção de caixas de texto para um item de relatório. Essa coleção pode ser usada para resumir itens na página para inclusão em um cabeçalho ou rodapé de página. Para obter mais informações, consulte Usando referências de coleções de ReportItems (Construtor de Relatórios 3.0 e SSRS).

Usando sintaxe de coleção em uma expressão

Para fazer referência a uma coleção em uma expressão, use a sintaxe padrão do Microsoft Visual Basic para um item em uma coleção. A tabela a seguir mostra exemplos de sintaxe de coleção.

Sintaxe

Exemplo

Collection!ObjectName.Property

=Fields!Sales.Value

Collection!ObjectName("Property")

=Fields!Sales("Value")

Collection("ObjectName").Property

=Fields("Sales").Value

Collection("Member")

=User("Language")

Collection.Member

=User.Language

Passando coleções internas para assemblies personalizados

Se quiser passar coleções internas para um assembly personalizado para processamento, adicione uma referência de assembly do seu projeto de código ao assembly que define as coleções internas e acesse o namespace correto. Dependendo do tipo de relatório para o qual você desenvolve o assembly personalizado, em um servidor de relatório (relatório de servidor) ou em um relatório que é executado localmente em um aplicativo .NET (relatório local), o assembly a ser referenciado muda. Consulte os detalhes a seguir.

  • Namespace: Microsoft.ReportingServices.ReportProcessing.ReportObjectModel

  • Assembly (relatório local): Microsoft.ReportingServices.ProcessingObjectModel.dll

  • Assembly (relatório de servidor): Microsoft.ReportViewer.ProcessingObjectModel.dll

Como o conteúdo das coleções Fields e ReportItems pode mudar de forma dinâmica no tempo de execução, não se prenda a ele em chamadas ao assembly personalizado (por exemplo, em uma variável de membro). A mesma recomendação costuma se aplicar a todas as coleções internas.