Freigeben über


Aggregatfunktion (Berichts-Generator und SSRS)

Gibt ein benutzerdefiniertes Aggregat des angegebenen Ausdrucks gemäß der Definition durch den Datenanbieter zurück.

Hinweis

Sie können Berichtsdefinitionen (RDL) im Berichts-Generator und im Berichts-Designer in SQL Server-Datentools erstellen und ändern. Jede Erstellungsumgebung bietet verschiedene Möglichkeiten zum Erstellen, Öffnen und Speichern von Berichten und verwandten Elementen. Weitere Informationen finden Sie unter Entwerfen von Berichten im Berichts-Designer und Berichts-Generator (SSRS) im Web unter microsoft.com.

Syntax

  
Aggregate(expression, scope)  

Die Parameter

Ausdruck
Der Ausdruck, für den die Aggregation auszuführen ist. Der Ausdruck muss aus einem einfachen Feldverweis bestehen.

Bereich
(String) Der Name eines Datasets, einer Gruppe oder eines Datenbereichs, der die Berichtselemente enthält, auf die die Aggregatfunktion angewendet werden soll. Der Bereich muss eine Zeichenfolgenkonstante sein und kann kein Ausdruck sein. Wenn scope nicht angegeben ist, wird der aktuelle Bereich verwendet.

Rückgabetyp

Wird durch den Datenanbieter bestimmt. Gibt zurück Nothing , wenn der Datenanbieter diese Funktion nicht unterstützt oder Daten nicht verfügbar ist.

Bemerkungen

Die Aggregate Funktion bietet eine Möglichkeit zum Verwenden von Aggregaten, die für die externe Datenquelle berechnet werden. Die Unterstützung dieser Funktion hängt von der Datenerweiterung ab. Beispielsweise ruft die SQL Server Analysis Services-Datenverarbeitungserweiterung vereinfachte Rowsets von einer MDX-Abfrage ab. Einige Zeilen im Resultset können auf dem Datenquellenserver berechnete Aggregatwerte enthalten. Diese Werte werden als Serveraggregatebezeichnet. Zum Anzeigen von Serveraggregaten im grafischen Abfrage-Designer für Analysis Services klicken Sie in der Symbolleiste auf die Schaltfläche Aggregat anzeigen. Weitere Informationen finden Sie unter Benutzeroberfläche des MDX-Abfrage-Designers für Analysis Services (Berichts-Generator).

Beim Anzeigen der Kombination aus Aggregat- und Detaildatasetwerten in Detailzeilen eines Tablix-Datenbereichs werden Serveraggregate in der Regel nicht einbezogen, da es sich nicht um Detaildaten handelt. Sie können jedoch alle für das Dataset abgerufenen Werte anzeigen und die Art der Berechnung und Anzeige für die Aggregatdaten anpassen.

Reporting Services erkennt die Verwendung der Aggregate Funktion in Ausdrücken in Ihrem Bericht, um zu bestimmen, ob Serveraggregate in Detailzeilen angezeigt werden sollen. Wenn Sie Aggregate in einem Ausdruck in einem Datenbereich einschließen, können Serveraggregate nur in Gruppensummen- oder Gesamtsummenzeilen auftreten, nicht jedoch in Detailzeilen. Wenn Sie Serveraggregate in Detailzeilen anzeigen möchten, verwenden Sie die Aggregate Funktion nicht.

Sie können dieses Standardverhalten ändern, indem Sie den Wert der Option Teilergebnisse als Detailzeilen interpretieren des Dialogfelds Dataseteigenschaften ändern. Wenn diese Option auf True festgelegt ist, werden alle Daten, einschließlich Serveraggregate, als Detaildaten angezeigt. Bei Festlegung auf False" werden Serveraggregate als Summen angezeigt. Die Einstellung für diese Eigenschaft beeinflusst alle Datenbereiche, die mit diesem Dataset verknüpft sind.

Hinweis

Alle enthaltenen Gruppen für das Berichtselement, das auf Aggregate verweist, müssen einfache Feldverweise für ihre Gruppenausdrücke aufweisen, zum Beispiel [FieldName]. Sie können in einem Datenbereich, der komplexe Gruppenausdrücke verwendet, nicht verwenden Aggregate . Für die SQL ServerAnalysis Services-Datenverarbeitungserweiterung muss Ihre Abfrage MDX-Felder vom Typ LevelProperty (nicht MemberProperty) enthalten, um die Aggregation mithilfe der AggregateFunktion zu unterstützen.

DasExpression -Objekt kann Aufrufe von geschachtelten Aggregatfunktionen enthalten. Dabei gelten folgende Ausnahmen und Bedingungen:

  • DasScope -Objekt für geschachtelte Aggregate muss dem Bereich des äußeren Aggregats entsprechen oder darin enthalten sein. In allen eindeutigen Bereichen des Ausdrucks muss ein Bereich eine untergeordnete Beziehung zu allen anderen Bereichen haben.

  • DasScope -Objekt für geschachtelte Aggregate darf nicht der Name eines Datasets sein.

  • Ausdruck darf die Funktionen First, Last, Previous oder RunningValue nicht enthalten.

  • DasExpression -Objekt darf keine geschachtelten Aggregate enthalten, die ein recursive-Objekt angeben.

Weitere Informationen finden Sie in der Aggregatfunktionsreferenz (Berichts-Generator und SSRS) und unter Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS).

Weitere Informationen zu rekursiven Aggregaten finden Sie unter Erstellen rekursiver Hierarchiegruppen (Berichts-Generator und SSRS).

Vergleichen der Aggregate-Funktion und der Sum-Funktion

Die Aggregate Funktion unterscheidet sich von numerischen Aggregatfunktionen, z Sum . B. darin, dass die Aggregate Funktion einen Wert zurückgibt, der vom Datenanbieter oder der Datenverarbeitungserweiterung berechnet wird. Numerische Aggregatfunktionen wie Sum geben einen Wert zurück, der vom Berichtsprozessor auf Basis eines Datensatzes berechnet wird, der durch den Geltungsbereichsparameter bestimmt ist. Weitere Informationen finden Sie in den im Thema Aggregatfunktionsreferenz (Berichts-Generator und SSRS) aufgelisteten Aggregatfunktionen.

Beispiel

Im folgenden Codebeispiel wird ein Ausdruck veranschaulicht, der ein Serveraggregat für das Feld LineTotalabruft. Der Ausdruck wird einer Zelle in einer Zeile, die zur Gruppe GroupbyOrdergehört, hinzugefügt.

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

Siehe auch

Ausdrucksverwendungen in Berichten (Berichts-Generator und SSRS)
Beispiele für Ausdrücke (Berichts-Generator und SSRS)
Datentypen in Ausdrücken (Berichts-Generator und SSRS)
Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS)