Condividi tramite


Funzione CountDistinct (Generatore report e SSRS)

Restituisce 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 altre informazioni, vedere Progettazione di report in Progettazione report e Report Builder (SSRS) sul Web in microsoft.com.

Sintassi

  
CountDistinct(expression, scope, recursive)  

Parametri

expression
(Variant) Espressione su cui eseguire l'aggregazione.

ambito
(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 usato l'ambito corrente.

ricorsivi
(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.

  • L'espressione non deve contenere Firstfunzioni , Last, Previouso RunningValue .

  • Expression non deve contenere aggregazioni nidificate che specificano recursive.

Per altre 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 altre informazioni sulle aggregazioni ricorsive, vedere Creazione di gruppi di gerarchie ricorsive (Generatore report e SSRS).

Esempio

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. L'espressione viene aggiunta a 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

Utilizzo delle espressioni nei report (Generatore report e SSRS)
Esempi di espressioni (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)