Contar y contar valores únicos

Hay funciones DAX que sirven para contar pero dan resultados distintos, pues cuentan de manera distinta.

Función COUNT o COUNTA

La primera y más elemental es la función COUNT o COUNTA que de modo similar al SUM lo que hace es contar cuantos elementos hay en la tabla.

La COUNT cuenta elementos numéricos, la COUNTA cuenta elementos alfanuméricos

Creamos una nueva medida y ponemos la COUNTA dado que el artículos es alfanumérico.

Líneas = COUNTA(‘Facturas Ventas'[Artículo])

Función DISTINCTCOUNT

La función DISTINCTCOUNT nos indica cuantos elementos distintos hay de un campo

Creamos una nueva medida y ponemos

Artículos distintos = DISTINCTCOUNT(‘Facturas Ventas'[Artículo])

Para probarlo vamos a crear una hoja nueva e insertamos una tabla, donde ponemos

Los que nos da

O sea para cada artículo nos dice en cuantas líneas ha aparecido, y el total es el número de líneas de nuestra tabla, cosa que coincide con los datos que tenemos

Y la de Artículos distintos, evidentemente da 1 pues cada artículo solo sale una vez

Ahora en un espacio vacío del lienzo creamos una nueva tabla y ponemos

Con lo que obtenemos

Nos dice para cada cliente, cuantos artículos ha comprado, o lo que es lo mismo cuantas líneas de facturas tiene. Y la columna Artículos distintos, pues nos dice eso: cuantos artículos distintos ha comprado cada cliente.

Función DISTINCT

Y una última utilidad muy interesante es contar valores únicos. Por ejemplo que remos saber cuántos clientes UNICOS han comprado cada año.

Para ello usaremos la función DISTINCT, que nos devuelve una tabla de valores únicos. Y la pondremos dentro de otra función COUNTROWS que nos dice cuántas filas tiene dicha tabla.

Creamos una medida y ponemos

Clientes únicos = COUNTROWS(DISTINCT(‘Facturas ventas'[Cliente]))

Y creamos una tabla con

Aquí vemos cuantos clientes únicos han comprado cada año.

Como nuestros datos son muy homogéneos nos da 21 para cada año. Para verificarlo vamos a añadir un segmentador por Artículo

Y si alineamos nuestras tres tablas con el segmentador en la parte superior de la pantalla. Y filtramos por el artículo Monociclo, veremos

La primera tabla lógicamente sale un solo artículo, el que hemos filtrado, con 105 líneas donde se ha vendido.

La segunda tabla, si los contamos, salen 7 clientes, con sus ventas cada uno y lógicamente un solo artículo, el filtrado.

Y la tercera tabla nos resume y dice que ha habido 7 clientes únicos.

Guardemos la hoja como Contar y únicos

3 comentarios sobre “Contar y contar valores únicos”

  1. Buen día.

    Necesito saber como puedo contar clientes únicos, teniendo en cuenta campos aleatorios, como los son la fecha, la persona que se llama, y el agente que realiza la llamada y aparte poder contar también los repetidos bajo las mismas
    ya probé la función del calculate pero igual no saca la información que necesito,

  2. Buenos dias. Por favor para solicitar su ayuda para resolver mi problema con powerbi.
    Problema: Se requiere generar una tabla de rangos con la cantidad de productos que estan dentro de cada uno de ellos.
    A continuacion se muestra la tabla de solucion con los resultados, la cual se generó con una tabla dinamica:
    La base de datos, está conformada por datos desde el 14 feb2018 al 14 ene 2019, con un total de 120.397 registros.
    La base datos tiene la siguiente estructura:
    Fecha, producto, indice de falla (kmf) y rango de fallas.
    Las cantidad total de productos es 844.
    En la base de datos se registran diariamente su indice de falla para cada producto.
    RANGO_KMF PROD
    0-200 22
    1000-1200 81
    1200-1400 46
    1400-1600 21
    1600-1800 13
    1800-2000 5
    2000-2200 2
    200-400 115
    2200-2400 3
    2600-2800 2
    400-600 212
    600-800 199
    800-1000 123
    Total general 844

    base de datos:
    Fecha PROD KMF RANGO_KMF
    14/08/2018 11001 233 200-400
    14/08/2018 11002 48 0-200
    14/08/2018 11003 70 0-200
    14/08/2018 11004 43 0-200
    14/08/2018 11005 76 0-200
    14/08/2018 11006 36 0-200
    14/08/2018 11009 18 0-200
    14/08/2018 11010 61 0-200
    14/08/2018 11012 23 0-200
    14/08/2018 11014 154 0-200
    14/08/2018 11015 31 0-200
    14/08/2018 11016 41 0-200
    14/08/2018 11017 129 0-200
    14/08/2018 11018 28 0-200
    14/08/2018 11019 310 200-400
    14/08/2018 11020 27 0-200
    14/08/2018 11021 224 200-400
    14/08/2018 11023 60 0-200
    14/08/2018 11025 34 0-200
    14/08/2018 11026 40 0-200
    14/08/2018 11027 30 0-200

  3. tengo mi modelo de datos con ordenes de trabajo.
    las ordenes de trabajo tienen 2 estatus: Abiertas y CErradas.
    necesito crear una medida que me cuente el total de Ordenes Abiertas y el Total de ordenes Cerradas.
    ¿como le puedo hacer?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.