Condividi tramite


Funzione di aggregazione (Generatore report e SSRS)

Viene restituita 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 ulteriori informazioni, vedere Progettazione di report tramite Progettazione report e Generatore report (SSRS) nel Web all'indirizzo microsoft.com.

Sintassi

Aggregate(expression, scope)

Parametri

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

  • scope
    (String) Nome di un set di dati, gruppo o area dati contenente gli elementi del report a cui applicare la funzione di aggregazione. Il parametro Scope deve essere una costante di tipo stringa e il parametronon può essere un'espressione. Se si omette scope, viene utilizzato 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.

Osservazioni

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 dell'elaborazione dati SQL Server Analysis Services, ad esempio, consente di recuperare 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 utilizzare il pulsante Mostra aggregazione sulla barra degli strumenti. Per ulteriori 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'utilizzo della funzione Aggregate nelle espressioni del report per determinare se visualizzare aggregazioni 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 utilizzare Aggregate in un'area dati che utilizza espressioni di raggruppamento complesse. Per l'estensione di elaborazione dati SQL Server Analysis Services, la query deve includere campi MDX di tipo LevelProperty (non MemberProperty) per supportare l'aggregazione tramite la funzione Aggregate.

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.

  • Expression non deve contenere funzioni First, Last, Previous o RunningValue.

  • Expression non deve contenere aggregazioni nidificate che specificano recursive.

Per ulteriori 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 ulteriori 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. Le funzioni di aggregazione numeriche come Sum restituiscono invece un valore calcolato dal componente Elaborazione report in un set di dati determinato dal parametro scope. Per ulteriori 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

Riferimento

Esempi di espressioni (Generatore report e SSRS)

Concetti

Utilizzo delle espressioni nei report (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)