Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hola,
Tengo una tabla en el visual para hacer un recuento de productos, si solo muestro el recuento, sin poner en la columna los códigos de producto, me hace el recuento de 72; pero cuando pongo el desglose por producto me cuenta solo 71 (incluso activando la opción de "mostrar elementos sin datos".
He probado las siguientes formulas:
¿Alguien sabe que puede estar pasando? No tengo ningun filtro ni nada aplicado, ni se ha modificado nada entre las dos imagenes. Igualmente en la base de datos me salen 71 solo.
Hola @_paulapowerBi ,
Lo que tienes se debe al comportamiento documentado de DAX y con un patrón muy habitual en informes: DISTINCTCOUNTNOBLANK no cuenta el valor BLANK (vacío en el modelo), mientras que DISTINCTCOUNT sí cuenta BLANK como un valor distinto más.
En la práctica, cuando el total se muestra sin el código en el eje del visual, el contexto de filtro es más amplio y a veces el recuento refleja matices que al poner el código en filas desaparecen: las filas cuyo código queda en blanco no siempre generan una fila visible tipo “(En blanco)” en el desglose, y la opción “Mostrar elementos sin datos” suele orientarse a combinaciones con dimensiones relacionadas, no a garantizar una fila por cada blanco en la misma columna que estás usando en filas. Por eso es frecuente ver un total distinto entre el resumen y la tabla desglosada, aunque no hayas cambiado filtros a mano.
Dado que tu base de datos marca 71, lo razonable es tratar 71 como el número de productos con código válido y localizar el “72º” como filas o combinaciones con código vacío o como diferencia de contexto entre medida y visual.
Lo qué haría yo como siguiente paso:
Referencia útil: DISTINCTCOUNTNOBLANK (DAX) y DISTINCTCOUNT (DAX)
Un saludo.
Hola, esto es un comportamiento clásico en Power BI con medidas de DISTINCTCOUNT / DISTINCTCOUNTNOBLANK cuando añades desglose por la misma columna (o relacionada).
Lo que pasa es que:
Pruebas rápidas para confirmar:
Soluciones habituales:
¿Puedes compartir una captura del modelo de datos (relaciones) o decir si esa columna de código viene de una dimensión o está en la tabla de hechos? Así afinamos más.
En Meridian Data & IA hemos visto este caso muchas veces al optimizar reportings para pymes → si necesitas ayuda con medidas DAX o limpieza de datos: https://meridiandata.es/consultoria-power-bi
Saludos!
¡Hola! Lo que describes tiene una explicación muy concreta: ese producto número 72 existe en tu tabla de hechos pero no tiene un código de producto visible — es decir, tiene un valor en blanco o nulo en la columna de código.
Cuando pones el desglose por código en el visual, ese producto sin código no aparece como una fila (aunque actives "mostrar elementos sin datos", esa opción solo afecta a dimensiones relacionadas, no a blancos dentro de la misma tabla). Por eso el conteo total baja a 71.
Para confirmarlo, prueba esta medida:
daxProductos sin código =
CALCULATE(
DISTINCTCOUNT('TuTabla'[CodigoProducto]),
'TuTabla'[CodigoProducto] = BLANK()
)
Si devuelve 1, ese es tu producto fantasma.
La solución depende de qué quieras hacer: si los blancos son válidos y quieres contarlos, usa DISTINCTCOUNT (que sí cuenta blancos a diferencia de DISTINCTCOUNTNOBLANK) y en el visual muestra una fila para "(En blanco)". Si son errores de datos, lo mejor es limpiarlos en Power Query asignándoles un código como "SIN CÓDIGO" para que aparezcan visualmente.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.