CountDistinct-Funktion (Berichts-Generator und SSRS)

Gibt die Anzahl aller unterschiedlichen Werte ungleich NULL aus dem angegebenen Ausdruck im Kontext des angegebenen Bereichs ausgewertet zurück.

HinweisHinweis

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

Syntax

CountDistinct(expression, scope, recursive)

Parameter

  • expression
    (Variant) Der Ausdruck, für den die Aggregation auszuführen ist.

  • scope
    (String) 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 (Standardwert) oder RdlRecursive. Gibt an, ob die Aggregation rekursiv auszuführen ist.

Rückgabetyp

Gibt einen Wert vom Typ Integer zurück.

Hinweise

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.

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 unter Aggregatfunktionsreferenz (Berichts-Generator und SSRS) und Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS).

Weitere Informationen zu rekursiven Aggregaten finden Sie unter Erstellen von rekursiven 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.

HinweisHinweis

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")

Siehe auch

Verweis

Beispiele für Ausdrücke (Berichts-Generator und SSRS)

Konzepte

Ausdrucksverwendungen in Berichten (Berichts-Generator und SSRS)

Datentypen in Ausdrücken (Berichts-Generator und SSRS)

Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS)