Compartir a través de


Función CountDistinct (Generador de informes y SSRS)

Devuelve un recuento de todos los valores no NULL distintos especificados por la expresión, que se evalúa en el contexto del ámbito especificado.

[!NOTA]

Puede crear y modificar las definiciones de informe (.rdl) en el Generador de informes y en el Diseñador de informes en SQL Server Data Tools. Cada entorno de creación proporciona varias maneras de crear, abrir y guardar informes y elementos relacionados. Para obtener más información, vea la información sobre el diseño de informes en el Generador de informes y el Administrador de informes (SSRS) en el sitio web microsoft.com.

Sintaxis

CountDistinct(expression, scope, recursive)

Parámetros

  • expression
    (Variant) Expresión en la que se lleva a cabo la agregación.

  • scope
    (String) (opcional). Nombre de un conjunto de datos, un grupo o una región de datos que contiene los elementos de informe a los que se va a aplicar la función de agregado. Si no se especifica el parámetro scope, se usa el ámbito actual.

  • recursive
    (Tipo enumerado) (opcional). Simple (predeterminado) o RdlRecursive. Especifica si se debe realizar la agregación de forma recursiva.

Tipo devuelto

Devuelve un Integer.

Comentarios

El valor de scope debe ser una constante de cadena y no puede ser una expresión. Para los agregados exteriores o los agregados que no especifican a otros agregados, scope debe hacer referencia al ámbito actual o a un ámbito de contenido. Para los agregados de agregados, los agregados anidados pueden especificar un ámbito secundario.

Expression puede contener las llamadas a las funciones de agregados anidados con las siguientes excepciones y condiciones:

  • Scope, para los agregados anidados, debe ser igual que el ámbito del agregado exterior, o ser contenido por él. Para todos los ámbitos distintos de la expresión, un ámbito debe estar en una relación secundaria con respecto a todos los otros ámbitos.

  • Scope, para los agregados anidados, no puede ser el nombre de un conjunto de datos.

  • Expression no debe contener las funciones First, Last, Previous o RunningValue.

  • Expression no debe contener a los agregados anidados que especifican recursive.

Para obtener más información, vea Referencia a las funciones de agregado (Generador de informes y SSRS) y Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS).

Para obtener más información acerca de los agregados recursivos, vea Crear grupos de jerarquía recursiva (Generador de informes y SSRS).

Ejemplo

El ejemplo de código siguiente muestra una expresión que calcula el número de valores no NULL únicos de Size para el ámbito predeterminado y para un ámbito de grupo primario. La expresión se agrega a una celda de una fila que pertenece al grupo secundario GroupbySubcategory. El grupo primario es GroupbyCategory. La expresión muestra los resultados para GroupbySubcategory (el ámbito predeterminado) y, a continuación, para GroupbyCategory (el ámbito de grupo primario).

[!NOTA]

Las expresiones no deben contener retornos de carro ni saltos de línea reales; en el código de ejemplo se han incluido para posibilitar la compatibilidad con los representadores de documentación. Si copia el ejemplo siguiente, quite los retornos de carro de todas las líneas.

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

Vea también

Referencia

Ejemplos de expresiones (Generador de informes y SSRS)

Conceptos

Usar expresiones en informes (Generador de informes y SSRS)

Tipos de datos en expresiones (Generador de informes y SSRS)

Ámbito de expresión para los totales, agregados y colecciones integradas (Generador de informes y SSRS)