Funktionen im Berichts-Generator: CountDistinct-Funktion in einem paginierten Bericht (Berichts-Generator)

Gilt für: Microsoft Report Builder (SSRS) Power BI Report Builder Berichts-Designer in SQL Server Data Tools

Die Funktion gibt eine Anzahl aller unterschiedlichen Werte ungleich NULL zurück, die von einem Ausdruck in einem paginierten Bericht angegeben werden, der im Kontext eines angegebenen Bereichs ausgewertet wird.

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

  
CountDistinct(expression, scope, recursive)  

Parameter

expression
(Variant) Der Ausdruck, für den die Aggregation ausgeführt werden soll.

scope
(Zeichenfolge) Optional. Der Name eines Datasets, einer Gruppe oder eines Datenbereichs mit den Berichtselementen, auf die die Aggregatfunktion anzuwenden ist. Wenn scope nicht angegeben ist, wird der aktuelle Bereich verwendet.

rekursiv
(Aufzählungstyp) Optional. Simple (Standard) oder RdlRecursive. Gibt an, ob die Aggregation rekursiv auszuführen ist.

Rückgabetyp

Gibt einen Wert vom Typ Integerzurück.

Bemerkungen

Der Wert des scope -Objekts muss eine Zeichenfolgenkonstante sein und darf kein Ausdruck sein. Für äußere Aggregate oder Aggregate, die keine anderen Aggregate angeben, muss das scope -Objekt auf den aktuellen Bereich oder einen enthaltenen Bereich verweisen. Bei Aggregaten von Aggregaten können geschachtelte Aggregate einen untergeordneten Bereich angeben.

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

  • Der Geltungsbereich für geschachtelte Aggregate muss mit dem Geltungsbereich des äußeren Aggregats übereinstimmen oder in ihm enthalten sein. In allen eindeutigen Bereichen des Ausdrucks muss ein Bereich eine untergeordnete Beziehung zu allen anderen Bereichen haben.

  • Scope für geschachtelte Aggregate darf nicht der Name eines Datensatzes sein.

  • DasExpression -Objekt darf die Funktionen First, Last, Previousoder RunningValue nicht enthalten.

  • Der Ausdruck darf keine geschachtelten Aggregate enthalten, die recursive 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).

Beispiel

Das folgende Codebeispiel zeigt einen Ausdruck, der die Anzahl eindeutiger Werte von Size, die nicht NULL sind, für den Standardbereich und für den Bereich einer übergeordneten Gruppe berechnet. Der Ausdruck wird einer Zelle in einer Zeile, die zur untergeordneten Gruppe GroupbySubcategorygehört, hinzugefügt. Die übergeordnete Gruppe ist GroupbyCategory. Der Ausdruck zeigt die Ergebnisse für GroupbySubcategory (Standardbereich) und anschließend für GroupbyCategory (übergeordneter Gruppenbereich) an.

Hinweis

Ausdrücke sollten keine tatsächlichen Wagenrückläufe und Zeilenumbrüche enthalten; diese sind im Beispielcode enthalten, um Dokumentationsrenderer zu unterstützen. Wenn Sie das folgende Beispiel kopieren, entfernen Sie Wagenrückläufe aus jeder Zeile.

="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &   
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")