Funktionen des Berichts-Generators: Aggregatfunktion in einem paginierten Bericht (Berichts-Generator)

GILT FÜR: ✔️ Berichts-Generator von Microsoft (SSRS) ✔️ Power BI Report Builder ✔️ Report Designer in SQL Server Data Tools

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

Hinweis

Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator von Microsoft, im Power BI Report Builder und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.

Syntax

  
Aggregate(expression, scope)  

Parameter

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

scope
(Zeichenfolge) Der Name eines Datasets, einer Gruppe oder eines Datenbereichs mit den Berichtselementen, auf die die Aggregatfunktion anzuwenden ist. Scope muss eine Zeichenfolgenkonstante sein und darf kein Ausdruck sein. Wenn scope nicht angegeben ist, wird der aktuelle Bereich verwendet.

Rückgabetyp

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

Bemerkungen

Die Aggregate -Funktion bietet die Möglichkeit, Aggregate zu verwenden, die auf der externen 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 Serveraggregate bezeichnet. Zum Anzeigen von Serveraggregaten im grafischen Abfrage-Designer für Analysis Servicesklicken 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.

Der Berichts-Generator erkennt die Verwendung der Aggregat-Funktion in Ausdrücken Ihres Berichts, um zu bestimmen, ob Serveraggregate in Detailzeilen angezeigt werden sollen. Wenn Sie Aggregate in einen Ausdruck eines Datenbereichs einbeziehen, können Serveraggregate nur in Ergebniszeilen für Gruppen oder Gesamtergebniszeilen, jedoch nicht in Detailzeilen erscheinen. 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 wird, werden alle Daten, einschließlich der Serveraggregate, als Detaildaten angezeigt. Ist die Option auf False festgelegt, werden Serveraggregate als Gesamtbeträge angezeigt. Die Einstellung für diese Eigenschaft beeinflusst alle Datenbereiche, die mit diesem Dataset verknüpft sind.

Hinweis

Die Gruppenausdrücke aller Gruppen, die das Berichtselement enthalten, das auf Aggregat verweist, müssen aus einfachen Feldverweisen bestehen, z.B. [FieldName]. Sie können Aggregate in einem Datenbereich, der komplexe Gruppenausdrücke verwendet, nicht einsetzen. Für die SQL ServerAnalysis Services -Datenverarbeitungserweiterung muss Ihre Abfrage MDX-Felder des Typs LevelProperty (nicht MemberProperty) enthalten, um die Aggregation mit der Aggregat-Funktion zu unterstützen.

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

  • Das Scope -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.

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

  • Das Expression -Objekt darf die Funktionen First, Last, Previous oder RunningValue nicht enthalten.

  • Das Expression -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 Creating Recursive Hierarchy Groups (Report Builder and SSRS) (Erstellen von rekursiven Hierarchiegruppen (Berichts-Generator und SSRS)).

Vergleichen der Aggregate-Funktion und der Sum-Funktion

Die Aggregate -Funktion unterscheidet sich von numerischen Aggregatfunktionen wie Sum dadurch, dass die Aggregate -Funktion einen Wert zurückgibt, der vom Datenanbieter oder von der Datenverarbeitungserweiterung berechnet wird. Numerische Aggregatfunktionen wie Sum geben einen Wert zurück, der vom Berichtsprozessor für eine Gruppe von Daten in einem Dataset berechnet wird, das durch den scope -Parameter bestimmt wird. 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")  

Weitere Informationen

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 Sammlungen (Berichts-Generator und SSRS)