Funzione CountDistinct (Generatore report e SSRS)
Viene restituito un conteggio di tutti i distinti valori non Null specificati dall'espressione, valutato nel contesto dell'ambito specificato.
[!NOTA]
È possibile creare e modificare definizioni del report (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati. Per ulteriori informazioni, vedere Progettazione di report tramite Progettazione report e Generatore report (SSRS) nel Web all'indirizzo microsoft.com.
Sintassi
CountDistinct(expression, scope, recursive)
Parametri
expression
(Variant) Espressione su cui eseguire l'aggregazione.scope
(String) Facoltativo. Nome di un set di dati, gruppo o area dati che contiene gli elementi del report a cui applicare la funzione di aggregazione. Se si omette scope, viene utilizzato l'ambito corrente.recursive
(Enumerated Type) Facoltativo. Simple (valore predefinito) o RdlRecursive. Specifica se eseguire l'aggregazione in modo ricorsivo.
Tipo restituito
Restituisce un valore Integer.
Osservazioni
Il valore di scope deve essere una costante di tipo stringa e non può essere un'espressione. Per aggregazioni o aggregazioni esterne che non specificano altre aggregazioni, scope deve fare riferimento all'ambito corrente o a un ambito contenitore. Per le aggregazioni di aggregazioni, le aggregazioni nidificate possono specificare un ambito figlio.
Expression può contenere chiamate alle funzioni di aggregazione nidificate con le eccezioni e le condizioni seguenti:
Scope per le aggregazioni nidificate deve corrispondere o essere contenuto nell'ambito dell'aggregazione esterna. Per tutti gli ambiti distinti nell'espressione, un ambito deve essere in una relazione figlio con tutti gli altri ambiti.
Scope per le aggregazioni nidificate non può essere il nome di un set di dati.
Expression non deve contenere funzioni First, Last, Previous o RunningValue.
Expression non deve contenere aggregazioni nidificate che specificano recursive.
Per ulteriori informazioni, vedere Riferimento a funzioni di aggregazione (Generatore report e SSRS) e Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS).
Per ulteriori informazioni sulle aggregazioni ricorsive, vedere Creazione di gruppi di gerarchie ricorsive (Generatore report e SSRS).
Esempio
Nell'esempio di codice seguente è illustrata un'espressione che calcola il numero di valori non Null univoci di Size per l'ambito predefinito e per un ambito di gruppo padre. L'espressione viene aggiunta in una riga di una cella che appartiene al gruppo figlio GroupbySubcategory. Il gruppo padre è GroupbyCategory. L'espressione visualizza i risultati per GroupbySubcategory (ambito predefinito) e quindi per GroupbyCategory (ambito del gruppo padre).
[!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. Se si copia l'esempio seguente, rimuovere i ritorni a capo da ogni riga.
="Distinct count (Subcategory): " & CountDistinct(Fields!Size.Value) &
"Distinct count (Category): " & CountDistinct(Fields!Size.Value,"GroupbyCategory")
Vedere anche
Riferimento
Esempi di espressioni (Generatore report e SSRS)
Concetti
Utilizzo delle espressioni nei report (Generatore report e SSRS)
Tipi di dati nelle espressioni (Generatore report e SSRS)
Ambito di espressioni per totali, aggregazioni e raccolte predefinite (Generatore report e SSRS)