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)