Funções do Construtor de Relatórios – referência de funções de agregação em relatórios paginados (Construtor de Relatórios)
Aplica-se a: SSRS (Construtor de Relatórios da Microsoft) Power BI Report Builder Report Designer no SQL Server Data Tools
Para incluir valores agregados no relatório paginado, é 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 arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.
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 ou 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. |
Voltar 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 | No | No | No | Não |
Campo | Sim | Sim | Não | No | No | No | Não |
Parâmetro de consulta | Não | Sim | Não | No | No | No | Não |
Expressão de grupo | Sim | Sim | Não | No | Sim | Não | Não |
Expressão de classificação | Sim | Sim | Não | No | Sim | Sim Observação 5 |
Não |
Expressão de filtro | Sim | Sim | Não | No | Sim | Sim Observação 6 |
Não |
Código | Não | Sim Observação 7 |
Não | No | No | No | Não |
Report.Language | Não | Sim | Não | No | No | No | Não |
Variáveis | Sim | Sim | Não | No | 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.
Voltar ao início
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 | No | No | No | Sim | Não | Sim | Não |
Primeiro Último |
Não | No | No | No | Sim | Não | No | 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 | No | No | No | Sim | Não | Sim | Não |
Agregações de ReportItem | Não | No | No | No | No | No | No | 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 | No | No | No | No | No | No | 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.
Voltar 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. |
Voltar 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. |
Voltar 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. |
Voltar 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. |
Anterior | Retorna o valor ou o valor de agregação especificado para a instância anterior de um item do escopo especificado. |
Voltar 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. |
Voltar 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. |
Voltar 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, 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. |
Voltar ao início