Condividi tramite


Funzione di aggregazione (Generatore report e SSRS)

Restituisce un'aggregazione personalizzata dell'espressione specificata, secondo quanto definito dal provider di dati.

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 Report Builder (SSRS) sul Web in microsoft.com.

Sintassi

  
Aggregate(expression, scope)  

Parametri

expression
Espressione su cui eseguire l'aggregazione. È necessario che l'espressione sia un riferimento di campo semplice.

ambito
(String) Nome di un set di dati, gruppo o area dati contenente gli elementi del report a cui applicare la funzione di aggregazione. Ambito deve essere una costante di tipo stringa e non può essere un'espressione. Se si omette scope , viene usato l'ambito corrente.

Tipo restituito

Il tipo restituito dipende dal provider di dati. Restituisce Nothing se il provider di dati non supporta questa funzione o se i dati non sono disponibili.

Commenti

La funzione Aggregate offre una modalità per utilizzare aggregazioni calcolate sull'origine dati esterna. Il supporto per questa caratteristica è determinato dall'estensione dei dati. L'estensione per l'elaborazione dati di SQL Server Analysis Services, ad esempio, recupera set di righe bidimensionali da una query MDX. Alcune righe del set di risultati possono contenere valori di aggregazione calcolati nel server dell'origine dati. Tali valori sono noti come aggregazioni server. Per visualizzare le aggregazioni server nella finestra Progettazione query con interfaccia grafica per Analysis Services, è possibile usare il pulsante Mostra aggregazione sulla barra degli strumenti. Per altre informazioni, vedere Interfaccia utente di Progettazione query MDX di Analysis Services (Generatore report).

Quando si visualizza la combinazione di valori di aggregazione e di set di dati di dettaglio nelle righe di dettaglio di un'area dati Tablix, le aggregazioni server non vengono solitamente incluse perché non corrispondono a dati di dettaglio. Tuttavia, è possibile visualizzare tutti i valori recuperati per il set di dati e personalizzare le modalità di calcolo e visualizzazione dei dati di aggregazione.

Reporting Services rileva l'uso della Aggregate funzione nelle espressioni del report per determinare se visualizzare le aggregazioni del server nelle righe di dettaglio. Se si include Aggregate in un'espressione in un'area dati, le aggregazioni server possono essere visualizzate solo in righe di totali o totali complessivi di gruppo, non nelle righe di dettaglio. Se si desidera visualizzare le aggregazioni server nelle righe di dettaglio, non utilizzare la funzione Aggregate.

È possibile cambiare questo comportamento predefinito modificando il valore dell'opzione Interpretare i subtotali come righe di dettaglio nella finestra di dialogo Proprietà set di dati . Quando questa opzione è impostata su True, tutti i dati, incluse le aggregazioni server, appaiono come dati di dettaglio. Quando è impostata su False, le aggregazioni server appaiono come totali. L'impostazione di questa proprietà influisce su tutte le aree dati collegate al set di dati.

Nota

Tutti i gruppi di contenuto per l'elemento del report che fa riferimento a Aggregate devono includere riferimenti di campo semplici per le relative espressioni di raggruppamento, ad esempio [FieldName]. Non è possibile usare Aggregate in un'area dati che usa espressioni di raggruppamento complesse. Per l'estensione per l'elaborazione dati di SQL ServerAnalysis Services, la query deve includere campi MDX di tipo LevelProperty (non MemberProperty) per supportare l'aggregazione tramite la Aggregatefunzione .

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).

Confronto tra le funzioni Aggregate e Sum

La funzione Aggregate è diversa dalle funzioni di aggregazioni numeriche come Sum in quanto la funzione Aggregate restituisce un valore calcolato dal provider di dati o dall'estensione per l'elaborazione dati. Funzioni di aggregazione numeriche, ad esempio Sum , restituiscono un valore calcolato dal processore di report su un set di dati del set di dati determinato dal parametro di ambito . Per altre informazioni, vedere le funzioni di aggregazione elencate in Riferimento a funzioni di aggregazione (Generatore report e SSRS).

Esempio

Nell'esempio di codice seguente è illustrata un'espressione che recupera un'aggregazione server per il campo LineTotal. L'espressione viene aggiunta nella riga di una cella che appartiene al gruppo GroupbyOrder.

=Aggregate(Fields!LineTotal.Value, "GroupbyOrder")  

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)