Funzioni di Generatore report - Funzione CountDistinctReport Builder Functions - CountDistinct Function

Restituisce un conteggio di tutti i distinti valori non Null specificati dall'espressione, valutato nel contesto dell'ambito specificato.Returns a count of all distinct non-null values specified by the expression, evaluated in the context of the given scope.

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

SintassiSyntax


CountDistinct(expression, scope, recursive)  

ParametriParameters

espressioneexpression
(Variant) Espressione su cui eseguire l'aggregazione.(Variant) The expression on which to perform the aggregation.

ambitoscope
(String) Facoltativo.(String) Optional. Nome di un set di dati, gruppo o area dati che contiene gli elementi del report a cui applicare la funzione di aggregazione.The name of a dataset, group, or data region that contains the report items to which to apply the aggregate function. Se si omette scope , viene usato l'ambito corrente.If scope is not specified, the current scope is used.

ricorsivirecursive
(Enumerated Type) Facoltativo.(Enumerated Type) Optional. Simple (impostazione predefinita) o RdlRecursive.Simple (default) or RdlRecursive. Specifica se eseguire l'aggregazione in modo ricorsivo.Specifies whether to perform the aggregation recursively.

Tipo restituitoReturn Type

Restituisce un valore Integer.Returns an Integer.

OsservazioniRemarks

Il valore di scope deve essere una costante di tipo stringa e non può essere un'espressione.The value of scope must be a string constant and cannot be an expression. Per aggregazioni o aggregazioni esterne che non specificano altre aggregazioni, scope deve fare riferimento all'ambito corrente o a un ambito contenitore.For outer aggregates or aggregates that do not specify other aggregates, scope must refer to the current scope or a containing scope. Per le aggregazioni di aggregazioni, le aggregazioni nidificate possono specificare un ambito figlio.For aggregates of aggregates, nested aggregates can specify a child scope.

Expression può contenere chiamate alle funzioni di aggregazione nidificate con le eccezioni e le condizioni seguenti:Expression can contain calls to nested aggregate functions with the following exceptions and conditions:

EsempioExample

L'esempio di codice seguente illustra un'espressione che calcola il numero di valori non Null univoci di Size per l'ambito predefinito e per un ambito di gruppo padre.The following code example shows an expression that calculates the number of unique non-null values of Size for the default scope and for a parent group scope. L'espressione viene aggiunta in una riga di una cella che appartiene al gruppo figlio GroupbySubcategory.The expression is added to a cell in a row that belongs to the child group GroupbySubcategory. Il gruppo padre è GroupbyCategory.The parent group is GroupbyCategory. L'espressione visualizza i risultati per GroupbySubcategory (ambito predefinito) e quindi per GroupbyCategory (ambito del gruppo padre).The expression displays the results for GroupbySubcategory (the default scope) and then for GroupbyCategory (the parent group scope).

Nota

Le espressioni non devono contenere ritorni a capo e interruzioni di riga, che sono inclusi nell'esempio di codice per supportare i renderer della documentazione.Expressions should not contain actual carriage returns and line breaks; these are included in the example code to support documentation renderers. Se si copia l'esempio seguente, rimuovere i ritorni a capo da ogni riga.If you copy the following example, remove carriage returns from each line.

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

Vedere ancheSee Also

Utilizzo delle espressioni nei report (Generatore report e SSRS) Expression Uses in Reports (Report Builder and SSRS)
Esempi di espressioni (Generatore report e SSRS) Expression Examples (Report Builder and SSRS)
Tipi di dati nelle espressioni (Generatore report e SSRS) Data Types in Expressions (Report Builder and SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)Expression Scope for Totals, Aggregates, and Built-in Collections (Report Builder and SSRS)