Condividi tramite


Funzione Sum (Generatore report e SSRS)

Restituisce la somma di tutti i valori numerici non Null specificati dall'espressione, valutata nell'ambito specificato.

Nota

È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per altre informazioni, vedere Progettazione di report in Progettazione report e Generatore report (SSRS) sul Web all'indirizzo microsoft.com.

Sintassi

  
Sum(expression, scope, recursive)  

Parametri

expression
(Integer o Float) Espressione su cui eseguire l'aggregazione.

ambito
(String) Facoltativo. Nome di un set di dati, gruppo o area dati che contiene gli elementi del report a cui applicare la funzione di aggregazione. Se si omette scope , viene usato l'ambito corrente.

ricorsivi
(Enumerated Type) Facoltativo. Simple (valore predefinito) o RdlRecursive. Specifica se eseguire l'aggregazione in modo ricorsivo.

Tipo restituito

Restituisce un valore Decimal per le espressioni decimali e un valore Double per tutte le altre espressioni.

Osservazioni

Il set di dati specificato nell'espressione deve essere dello stesso tipo di dati. Per convertire dati con più tipi di dati numerici nello stesso tipo di dati, usare funzioni di conversione come CInt, CDbl o CDec. Per altre informazioni, vedere Funzioni di conversione del tipo.

Il valore di scope deve essere una costante di tipo stringa e non può essere un'espressione. Per aggregazioni o aggregazioni esterne che non specificano altre aggregazioni, scope deve fare riferimento all'ambito corrente o a un ambito contenitore. Per le aggregazioni di aggregazioni, le aggregazioni nidificate possono specificare un ambito figlio.

Expression può contenere chiamate alle funzioni di aggregazione nidificate con le eccezioni e le condizioni seguenti:

  • Scope per le aggregazioni nidificate deve corrispondere o essere contenuto nell'ambito dell'aggregazione esterna. Per tutti gli ambiti distinti nell'espressione, un ambito deve essere in una relazione figlio con tutti gli altri ambiti.

  • Scope per le aggregazioni nidificate non può essere il nome di un set di dati.

  • L'espressione non deve contenere Firstfunzioni , Last, Previouso RunningValue .

  • Expression non deve contenere aggregazioni nidificate che specificano recursive.

Per altre informazioni, vedere Riferimento a funzioni di aggregazione (Generatore report e SSRS) e Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS).

Per altre informazioni sulle aggregazioni ricorsive, vedere Creazione di gruppi di gerarchie ricorsive (Generatore report e SSRS).

Esempio

I due esempi di codice seguenti consentono di ottenere una somma dei totali degli elementi nel gruppo o nell'area dati Order .

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

Esempio

In un'area dati della matrice con i gruppi di righe nidificati, Categoria e Sottocategoria, e con i gruppi di colonne nidificate, Anno e Trimestre, in una cella che appartiene ai gruppi di righe e colonne più interni, l'espressione seguente restituisce il valore massimo di tutti i trimestri e di tutte le sottocategorie.

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

Vedere anche

Utilizzo delle espressioni nei report (Generatore report e SSRS)
Esempi di espressioni (Generatore report e SSRS)
Tipi di dati nelle espressioni (Generatore report e SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)