Referências de coleções de variáveis de grupo e de relatório (Construtor de Relatórios e SSRS)
Quando há um cálculo complexo usado mais de uma vez em expressões em um relatório, convém criar uma variável. É possível criar uma variável do relatório ou uma variável do grupo. Os nomes de variável devem ser exclusivos 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 modos diferentes para criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Partes de Relatório (Construtor de Relatórios e SSRS) e Partes de Relatório no Designer de Relatórios (SSRS) na Web em microsoft.com. |
Variáveis do relatório
Use uma variável do relatório para manter um valor para cálculos dependentes de tempo, como taxas de moeda ou carimbos de data/hora ou para um cálculo complexo que seja referenciado várias vezes. Por padrão, uma variável do relatório é calculada uma vez e pode ser usada em expressões em um relatório. As variáveis de relatório são somente leitura por padrão. Você pode alterar o padrão para habilitar uma variável de relatório como leitura-gravação. O valor em uma variável de relatório é preservado durante toda a sessão, até o relatório ser processado novamente.
Para adicionar uma variável do relatório, abra a caixa de diálogo Propriedades do Relatório, clique em Variáveis e forneça um nome e um valor. Os nomes são cadeias de caracteres que diferenciam maiúsculas de minúsculas, começando com uma letra e sem espaços. Um nome pode conter letras, números ou sublinhados (_).
Para fazer referência à variável em uma expressão, use a sintaxe de coleção global, por exemplo, =Variables!CustomTimeStamp.Value. Na superfície de design, o valor é exibido em uma caixa de texto como <<Expr>>.
Você pode usar variáveis de relatório dos seguintes modos:
Uso somente leitura Defina um valor uma vez para criar uma constante para a sessão de relatório, por exemplo, para criar um carimbo de hora.
Como as expressões nas caixas de texto são avaliadas sob demanda como páginas de um usuário em um relatório, os valores dinâmicos (por exemplo, uma expressão que inclui a função Now(), que retorna a hora do dia) poderão retornar valores diferentes se você percorrer as páginas para a frente e para trás com o botão Voltar. Ao configurar o valor de uma variável do relatório como a expressão =Now() e adicionar a variável à expressão, você garante que o mesmo valor seja usado no processamento do relatório.
Uso de leitura-gravação Defina um valor uma vez e serialize-o dentro da sessão de relatório. A opção de leitura-gravação para variáveis fornece uma alternativa melhor do que o uso de uma variável estática no bloco de Código na definição do relatório.
Quando você desmarca a opção Somente Leitura de uma variável, a propriedade Writable da variável é definida como true. Para atualizar o valor de uma expressão, use o método SetValue, por exemplo, =Variables!MyVariable.SetValue("123").
Observação Não é possível controlar quando o processador do relatório inicializa uma variável ou avalia uma expressão que atualiza uma variável. A ordem de execução da inicialização da variável não é definida.
Para obter mais informações sobre as sessões, consulte Visualizando relatórios no Construtor de Relatórios.
Variáveis do grupo
Use uma variável do grupo para calcular uma expressão complexa uma vez no escopo de um grupo. Uma variável do grupo é válida apenas no escopo do grupo e de seus grupos filho.
Por exemplo, suponha que uma região de dados exiba dados de inventário para itens que estão em categorias de impostos diferentes e você queira aplicar taxas de impostos distintas a cada categoria. Você agruparia os dados em Category e definiria uma variável Tax no grupo pai. Em seguida, você definiria uma variável de grupo para ItemTax para cada categoria de imposto e atribuiria cada um dos diferentes subgrupos de Category à variável do grupo correto. Por exemplo:
Para o grupo pai baseado em [Category], defina a variável Tax com um valor [Tax]. Suponha que os valores da categoria sejam Alimentos e Vestuário.
Para o grupo filho baseado em [Subcategory], defina a variável ItemsTax como =Variables!Tax.Value * Sum(Fields!Price.Value). Suponha que os valores da subcategoria para a categoria Alimentos sejam Bebidas e Pães. Suponha que os valores da subcategoria para Vestuário sejam Camisas e Chapéus.
Para uma caixa de texto em uma linha no grupo filho, adicione a expressão =Variables!ItemsTax.Value.
A caixa de texto exibe o imposto total para Bebidas e Pães usando o imposto sobre Alimentos e para Camisas e Chapéus usando o imposto sobre Vestuário.
Para adicionar uma variável do grupo, abra a caixa de diálogo Propriedades do Grupo Tablix, clique em Variáveis e forneça um nome e um valor. A variável do grupo é calculada uma vez por valor do grupo exclusivo.
Para fazer referência à variável em uma expressão, use a sintaxe de coleção global, por exemplo, =Variables!GroupDescription.Value. Na superfície de design, o valor é exibido em uma caixa de texto como <<Expr>>.
Consulte também
Referência
Coleções internas em expressões (Construtor de Relatórios e SSRS)
Exemplos de expressões (Construtor de Relatórios e SSRS)
Conceitos
Filtrar, agrupar e classificar dados (Construtor de Relatórios e SSRS)