Compartilhar via


Funções do Construtor de Relatórios – função Sum em um relatório paginado (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Construtor de Relatórios do Power BI Designer de Relatórios no SQL Server Data Tools

Retorna a soma de todos os valores numéricos não nulos especificados pela expressão, avaliados no escopo fornecido em um relatório paginado.

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.

Sintaxe

  
Sum(expression, scope, recursive)  

Parâmetros

expressão
(Integer ou Float) A expressão na qual executar a agregação.

escopo
(String) Opcional. O nome de um conjunto de dados, um grupo ou uma região de dados que contém os itens de relatório aos quais a função de agregação deve ser aplicada. Se scope não estiver especificado, será usado o escopo atual.

recursivos
(Enumerated Type) Opcional. Simple (padrão) ou RdlRecursive. Especifica se a agregação deve ser executada recursivamente.

Tipo de retorno

Retorna um Decimal para expressões decimais e um Double para todas as outras expressões.

Comentários

O conjunto de dados especificado na expressão deve ter o mesmo tipo de dados. Para converter dados que têm vários tipos de dados numéricos no mesmo tipo de dados, use funções de conversão, como CInt, CDbl ou CDec. Para obter mais informações, consulte Funções de conversão de tipo.

O valor de scope precisa ser uma constante de cadeia de caracteres e não pode ser uma expressão. Para agregações externas ou que não especificam outras agregações, scope deve se referir ao escopo atual ou a um escopo contentor. Para agregações de agregações, as agregações aninhadas podem especificar um escopo filho.

Expression pode conter chamadas para funções de agregação aninhadas com as seguintes exceções e condições:

  • Scope para agregações aninhadas deve ser igual ao escopo da agregação externa ou deve estar contido nela. Para todos os escopos distintos na expressão, um escopo deve estar em uma relação filho com todos os outros escopos.

  • Scope para agregações aninhadas não pode ser o nome de um conjunto de dados.

  • Expression não deve conter a função First, Last, Previousou RunningValue .

  • Expression não deve conter agregações aninhadas que especifiquem recursive.

Para obter mais informações, confira Referência de funções de agregação (Construtor de Relatórios e SSRS) e Escopo das expressões para totais, agregações e coleções internas (Construtor de Relatórios e SSRS).

Para obter mais informações sobre agregações recursivas, confira Criação de Grupos de Hierarquias Recursivas (Construtor de Relatórios e SSRS).

Exemplos

a. Soma dos totais de item de linha

Os dois seguintes exemplos de código fornecem uma soma dos totais de itens de linhas no grupo Order ou na região de dados.

=Sum(Fields!LineTotal.Value, "Order")  
' or   
=Sum(CDbl(Fields!LineTotal.Value), "Order")  

B. Valor máximo de todas as regiões aninhadas

Em uma região de dados de matriz com grupos de linhas aninhados Categoria e Subcategoria, e grupos de colunas aninhados Ano e Trimestre, em uma célula que pertence aos grupos de linhas e colunas mais internas, a seguinte expressão é avaliada para o valor máximo de todos os trimestres para todas as subcategorias.

=Max(Sum(Fields!Sales.Value))