Gewichtete Durchschnittsfunktion berechnen
Dieses Tutorial zeigt, wie Sie eine gewichtete Durchschnittsfunktion in einem Bericht berechnen, zum Beispiel einen gewichteten Durchschnittspreis für die Lagereinheiten innerhalb jeder Produktkategorie: Summe (Stückpreis * Lagerbestand) / Summe (Lagerbestand).

Berichtszusammenfassungsfunktionen verwenden (empfohlen)
Sie können einen gewichteten Durchschnitt berechnen, indem Sie den Ausdruck eines Steuerelements mit mehreren integrierten Berichtszusammenfassungsfunktionen angeben.
Sie können diesen Ansatz verwenden, wenn Ausdrucksbindungen im Berichts-Designer aktiviert sind (der Designer stellt den Bereich Ausdrücke bereit).
- Öffnen Sie einen bestehenden Bericht oder erstellen Sie einen neuen von Grund auf.
- Binden Sie einen Bericht an eine gewünschte Datenquelle.
- Fügen Sie das Band Gruppenkopf ein, wählen Sie den Abschnitt Group Fields in der Kategorie Group Header Tasks und fügen Sie ein neues Gruppenfeld hinzu, um die Berichtsdaten zu gruppieren nach dem gewünschten Datenfeld.
4. Erstellen Sie ein Layout wie das folgende:

- Fügen Sie das Band Gruppenfuß zum Bericht hinzu und platzieren Sie ein Beschriftungs-Steuerelement auf diesem Band, um das Zusammenfassungsergebnis anzuzeigen.
Erweitern Sie den Abschnitt Summary in der Kategorie Label Tasks und setzen Sie die Eigenschaft Running auf Group.

- Klicken Sie auf die Schaltfläche mit den Auslassungspunkten der Eigenschaft Expression. Dadurch wird der Ausdrucks-Editor aufgerufen, in dem Sie einen benutzerdefinierten Ausdruck mit mehreren integrierten Funktionen aus dem Abschnitt Functions | Summary angeben können. Berichtszusammenfassungsfunktionen beginnen mit dem Präfix "sum", um sie von Aggregatfunktionen zu unterscheiden.

- Sie können auch die Eigenschaft Format String des Steuerelements verwenden, um den Wert der Zusammenfassung zu formatieren. Setzen Sie diese Eigenschaft beispielsweise auf Weighted Average Price: {0:c2}.
Aggregatfunktionen verwenden
Sie können ein Berechnetes Feld erstellen und eine Standard-Aggregatfunktion in dessen Ausdruck verwenden, um einen gewichteten Durchschnitt zu berechnen.
- Öffnen Sie einen bestehenden Bericht oder erstellen Sie einen neuen von Grund auf.
- Binden Sie einen Bericht an eine gewünschte Datenquelle und erstellen Sie das gewünschte Berichtslayout.
- Wechseln Sie zur Feldliste, wählen Sie eine Datentabelle und klicken Sie auf Add calculated field.
4. Klicken Sie auf die Schaltfläche Edit für das berechnete Feld, um die Eigenschaften anzuzeigen. Geben Sie die Eigenschaft Name an, setzen Sie den Field Type auf Decimal und klicken Sie auf die Schaltfläche mit den Auslassungspunkten der Eigenschaft Expression.
5. Geben Sie im aufgerufenen Ausdrucks-Editor den Ausdruck unter Verwendung der Aggregatfunktion Sum an. Zum Beispiel:
[][[CategoryID] == [^.CategoryID]].Sum([UnitPrice] * [UnitsInStock]) / [][[CategoryID] == [^.CategoryID]].Sum([UnitsInStock])

Um einen gültigen Aggregatausdruck zu erstellen, verwenden Sie das folgende Format, das aus vier Teilen besteht.
[<Collection>][<Condition>].<Aggregate>(<Expression>)
- <Collection> - Gibt eine Sammlung an, gegen die ein aggregierter Wert berechnet werden soll. Dies kann der Beziehungsname bei einer Master-Detail-Beziehung sein, oder der Name einer Sammlungseigenschaft, die von der Zielklasse bereitgestellt wird. Zum Beispiel: [CategoriesProducts][[CategoryId]>5].Count(). Leere Klammern [] bezeichnen die Stammsammlung.
- <Condition> - Gibt eine Bedingung an, die definiert, welche Datensätze an der Berechnung einer Aggregatfunktion teilnehmen sollen. Um einen aggregierten Wert für alle Datensätze zu erhalten, entfernen Sie diese logische Klausel zusammen mit den eckigen Klammern (zum Beispiel [].Count()).
- <Aggregate> - Gibt eine der verfügbaren Aggregatfunktionen an.
- <Expression> - Gibt einen Ausdruck an, der Werte für die Berechnung auswertet. Zum Beispiel: [][[CategoryID] > 5].Sum([UnitPrice]*[Quantity]). Die Funktion Count benötigt keine Feldwerte zum Zählen der Datensätze, lassen Sie daher die runden Klammern für diese Funktion leer.
Sie können auf die aktuell verarbeitete Gruppe mit dem Operator für die übergeordnete Beziehungsdurchquerung ('^') verweisen. Dies ermöglicht es Ihnen, Aggregate innerhalb von Gruppen mit Ausdrücken wie dem folgenden zu berechnen: [][[^.CategoryID] == [CategoryID]].Sum([UnitPrice]).
Weitere Informationen finden Sie unter Ausdruckssprache.
- Fügen Sie das erstellte berechnete Feld wie ein gewöhnliches Datenfeld zum Bericht hinzu und formatieren Sie dessen Wert.