Referência de funções de agregação (Construtor de Relatórios 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 a serem incluídas em uma expressão:
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, confira Escopo das Expressões para Totais, Agregações e Coleções Internas (Construtor de Relatórios e SSRS).
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 Criando relatórios em Report Designer e Report Builder (SSRS) 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. |
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 | Não | Não | Não | Não |
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 |
Agregações | 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 de 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.
Restrições em agregações aninhadas
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 agregações aninhadas.
Contexto | RunningValue | RowNumber | Primeiro Último |
Previous | Sum e outras funções de classificação prévia | Agregações de ReportItem | Funções de Lookup | Função de agregação |
---|---|---|---|---|---|---|---|---|
Valor em uso | Não | Não | Não | Não | Sim | Não | Sim | Não |
Primeiro Ú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 |
Agregações de ReportItem | Não | Não | Não | Não | Não | Não | Não | Não |
Funções de 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 uma agregação. As funções de agregação não são permitidas nas expressões Destination ou Result de uma função Lookup.
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. |
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. |
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. |
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. |
Anterior | Retorna o valor ou o valor de agregação especificado para a instância anterior de um item do escopo especificado. |
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. |
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. |
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, confira Criar Grupos de Hierarquias Recursivas (Construtor de Relatórios e SSRS).
Função | Descrição |
---|---|
Level | Retorna o nível atual de profundidade em uma hierarquia recursiva. |
Consulte Também
Uso de expressões em relatórios (Construtor de Relatórios e SSRS)
Exemplos de expressões (Construtor de Relatórios e SSRS)
Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS)