Funktionen im Berichts-Generator: CountDistinct-Funktion in einem paginierten Bericht (Berichts-Generator)
Gilt für: Microsoft Report Builder (SSRS) Power BI Report Builder Report 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.
recursive
(Enumerationstyp) 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:
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.
DasExpression -Objekt darf die Funktionen First, Last, Previousoder 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).
Beispiel
Das folgende Codebeispiel zeigt einen Ausdruck, der die Anzahl eindeutiger Wert ungleich NULL von Size
für den Standardbereich oder für einen übergeordneten Gruppenbereich berechnet. Der Ausdruck wird einer Zelle in einer Zeile, die zur untergeordneten Gruppe GroupbySubcategory
gehö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")