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)