Compartilhar via


Referência de funções de agregação (Construtor de Relatórios 3.0 e SSRS)

Para incluir valores agregados no relatório, é possível usar funções de agregação internas em expressões. A função de agregação padrão para campos numéricos é SUM. É possível editar a expressão e usar uma função de agregação interna diferente ou especificar outro escopo. O escopo identifica qual conjunto de dados deve ser usado no cálculo.

À medida que o processador de relatório combina os dados e o layout do relatório, as expressões de cada item do relatório são avaliadas. Ao exibir cada página do relatório, você vê os resultados de cada expressão nos itens de relatório renderizados.

A seguinte tabela lista as categorias de funções internas que você pode incluir em uma expressão:

  • Funções de agregação internas

  • Restrições em campos internos, coleções e funções de agregação

  • Restrições em agregados aninhados

  • Calculando valores em uso

  • Recuperando contagens de linhas

  • Procurando valores de outro conjunto de dados

  • Recuperando valores dependentes de classificação

  • Recuperando agregações do servidor

  • Recuperando nível recursivo

  • Testando para escopo

Para determinar os escopos válidos para uma função, consulte o tópico de referência da função individual. Para obter mais informações e exemplos, consulte Compreendendo o escopo das expressões para totais, agregações e coleções internas (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.

Funções de agregação internas

As seguintes funções internas calculam valores resumidos para um conjunto de dados numéricos não nulos no escopo padrão ou no escopo nomeado.

Função

Descrição

Avg

Retorna a média de todos os valores numéricos não nulos especificados pela expressão, avaliados no escopo fornecido.

Count

Retorna uma contagem de valores não nulos especificados pela expressão, avaliados no contexto do escopo fornecido.

CountDistinct

Retorna uma contagem de todos os valores não nulos distintos especificados pela expressão, avaliados no contexto do escopo fornecido.

Max

Retorna o valor máximo de todos os valores numéricos não nulos especificados pela expressão, no contexto do escopo fornecido. É possível usar essa função para especificar o valor máximo de um eixo do gráfico para controlar a escala.

Min

Retorna o valor mínimo de todos os valores numéricos não nulos especificados pela expressão, no contexto do escopo fornecido. É possível usar essa função para especificar o valor mínimo de um eixo do gráfico para controlar a escala.

StDev

Retorna o desvio padrão de todos os valores numéricos não nulos especificados pela expressão, avaliados no escopo fornecido.

StDevP

Retorna o desvio padrão da população de todos os valores numéricos não nulos especificados pela expressão, avaliados no contexto do escopo fornecido.

Sum

Retorna a soma de todos os valores numéricos não nulos especificados pela expressão, avaliados no escopo fornecido.

Union

Retorna a união de todos os valores de dados espaciais não nulos do tipo SqlGeometry or SqlGeography especificados pela expressão e avaliados no contexto do escopo fornecido.

Var

Retorna a variação de todos os valores numéricos não nulos especificados pela expressão, avaliados no escopo fornecido.

VarP

Retorna a variação da população de todos os valores numéricos não nulos especificados pela expressão, avaliados no contexto do escopo fornecido.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Restrições em campos internos, coleções e funções de agregação

A tabela a seguir resume as restrições em locais no relatório em que é possível adicionar expressões que contêm referências a coleções internas globais.

Local no relatório

Campos

Parâmetros

ReportItems

PageNumber

TotalPages

DataSource

DataSet

Variáveis

RenderFormat

Cabeçalho de página

Rodapé de página

Sim

Sim

No máximo um

Observação 1

Sim

Sim

Sim

Sim

Corpo

Sim

Observação 2

Sim

Apenas itens no escopo atual ou em um escopo contentor

Observação 3

Não

Sim

Sim

Sim

Parâmetro de relatório

Não

Apenas parâmetros anteriores da lista

Observação 4

Não

Nenhum

Nenhum

Nenhum

Nenhum

Campo

Sim

Sim

Não

Não

Não

Não

Não

Parâmetro de consulta

Não

Sim

Não

Não

Não

Não

Não

Expressão de grupo

Sim

Sim

Não

Não

Sim

Não

Não

Expressão de classificação

Sim

Sim

Não

Não

Sim

Sim

Observação 5

Não

Expressão de filtro

Sim

Sim

Não

Não

Sim

Sim

Observação 6

Não

Código

Não

Sim

Observação 7

Não

Não

Não

Não

Não

Report.Language

Não

Sim

Não

Não

Não

Não

Não

Variáveis

Sim

Sim

Não

Não

Sim

Escopo atual ou contentor

Não

Agregados

Sim

Sim

Apenas cabeçalho da página/rodapé da página

Apenas em agregações de item de relatório

Sim

Não

Não

Funções Lookup

Sim

Sim

Sim

Não

Sim

Não

Não

  • Observação 1. ReportItems deve existir na página de relatório renderizada ou o seu valor será Nulo. Se a visibilidade de um item de relatório depender de uma expressão que é avaliada como False, o item de relatório não existirá na página.

  • Observação 2. Se uma referência de campo usada em um escopo de grupo não estiver incluída na expressão de grupo, o valor do campo será indefinido, a menos que haja apenas um valor no escopo. Para especificar um valor, use Primeiro ou Último e o escopo de grupo.

  • Observação 3. Expressões que incluem uma referência a ReportItems podem especificar valores para outros ReportItems no mesmo escopo de grupo ou em um escopo de grupo contentor.

  • Observação 4. Os valores de propriedade de parâmetros anteriores podem ser nulos.

  • Observação 5. Somente em classificações de Membro. Não é possível usar em expressões de classificação de região de dados.

  • Observação 6. Somente em filtros de Membro. Não é possível usar em região de dados ou em expressões de filtro de conjunto de dados.

  • Observação 7. A coleção Parâmetros não é inicializada até o bloco de Código ser processado. Portanto, os métodos não podem ser usados para controlar parâmetros na inicialização.

  • Observação 8. O tipo de dados de todas as agregações, exceto Count e CountDistinct, deve ser o mesmo ou nulo, para todos os valores.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Restrições em agregados aninhados

A tabela a seguir resume as restrições nas quais as funções de agregação podem especificar outras funções de agregação como agregados aninhados.

Contexto

RunningValue

RowNumber

First

Last

Previous

Sum e outras funções de classificação prévia

Agregados de ReportItem

Funções Lookup

Função de agregação

Valor em uso

Não

Não

Não

Não

Sim

Não

Sim

Não

First

Último

Não

Não

Não

Não

Sim

Não

Não

Não

Previous

Sim

Sim

Sim

Não

Sim

Não

Sim

Não

Sum e outras funções de classificação prévia

Não

Não

Não

Não

Sim

Não

Sim

Não

Agregados de ReportItem

Não

Não

Não

Não

Não

Não

Não

Não

Funções Lookup

Sim

Sim

Observação 1

Sim

Observação 1

Sim

Observação 1

Sim

Observação 1

Sim

Observação 1

Não

Não

Função de agregação

Não

Não

Não

Não

Não

Não

Não

Não

  • Observação 1. As funções de agregação só serão permitidas na expressão Source de uma função Lookup se a função Lookup não estiver contida em um agregado. As funções de agregação não são permitidas nas expressões Destination ou Result de uma função Lookup.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Calculando valores em uso

As funções internas a seguir calculam os valores em uso de um conjunto de dados. RowNumber é semelhante a RunningValue pois retorna o valor em uso de uma contagem que é incrementada para cada linha no escopo contentor. O parâmetro do escopo dessas funções deve especificar um escopo de contenção que controle quando a contagem é reiniciada.

Função

Descrição

RowNumber

Retorna uma contagem contínua do número de linhas para o escopo especificado. A função RowNumber reinicia a contagem em 1, não em 0.

RunningValue

Retorna uma agregação contínua de todos os valores numéricos não nulos especificados pela expressão, avaliados para o escopo fornecido.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Recuperando contagens de linhas

A função interna a seguir calcula o número de linhas no escopo fornecido. Use esta função para contar todas as linhas, inclusive as linhas com valores nulos.

Função

Descrição

CountRows

Retorna o número de linhas no escopo especificado, inclusive as linhas com valores nulos.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Procurando valores de outro conjunto de dados

As funções de pesquisa a seguir recuperam valores de um conjunto de dados especificado.

Função

Descrição

Função Lookup

Retorna um valor de um conjunto de dados para uma expressão especificada.

Função LookupSet

Retorna um conjunto de valores de um conjunto de dados para uma expressão especificada.

Função Multilookup

Retorna o conjunto de primeiros valores correspondentes para um conjunto de nomes de um conjunto de dados que contém pares de nome/valor.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Recuperando valores dependentes de classificação

As funções internas a seguir retornam o primeiro, o último ou o valor anterior de um escopo fornecido. Estas funções dependem da ordem de classificação dos valores dos dados. Use estas funções, por exemplo, para localizar o primeiro e o último valor em uma página para criar um cabeçalho de página em estilo de dicionário. Use Previous para comparar um valor em uma linha com o valor da linha anterior dentro de um escopo específico, por exemplo, para localizar valores de porcentagem ano a ano em uma tabela.

Função

Descrição

First

Retorna o primeiro valor no escopo fornecido da expressão especificada.

Last

Retorna o último valor no escopo fornecido da expressão especificada.

Previous

Retorna o valor ou o valor agregado especificado para a instância anterior de um item do escopo especificado.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Recuperando agregações do servidor

A função interna a seguir recupera agregações personalizadas do provedor de dados. Por exemplo, usando um tipo de dados do Analysis Services, é possível recuperar agregações calculadas no servidor de fonte de dados para uso em um cabeçalho de grupo.

Função

Descrição

Aggregate

Retorna uma agregação personalizada da expressão especificada, conforme definido pelo provedor de dados.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Testando para escopo

A função interna a seguir testa o contexto atual de um item de relatório para verificar se ele é membro de um escopo específico.

Função

Descrição

InScope

Indica se a instância atual de um item está dentro do escopo especificado.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

Recuperando nível recursivo

A função interna a seguir recupera o nível atual quando uma hierarquia recursiva é processada. Use o resultado dessa função com a propriedade Padding em uma caixa de texto para controlar o nível de recuo de uma hierarquia visual para um grupo recursivo. Para obter mais informações, consulte Criando grupos de hierarquias recursivas (Construtor de Relatórios 3.0 e SSRS).

Função

Descrição

Nível

Retorna o nível atual de profundidade em uma hierarquia recursiva.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início