¡Hola Explorador@s de datos!
Todos en alguna ocasión nos hemos encontrado con esos molestos valores «En blanco» que aparecen en nuestros segmentadores o visuales dentro de los informes de Power BI. 😤 ¡No te preocupes, no eres el único al que le ocurre! En el post de hoy vamos a intentar entender el misterio de estos (En blanco) indeseados y mostraremos las diferentes alternativas que tenemos para solucionarlo de una vez por todas! 🎉… A por ellos!
¿Por qué son un problema los valores «En blanco»?
Lo primero de todo es entender cuál es el problema que provoca en un informe el hecho de que aparezcan estos «En blanco» y se prodría RESUMIR en estos 2 conceptos:
ImPacto visual
El primer punto es muy obvio pero no por ello tenemos que saltarlo. Imagina que acabas de finalizar un súper informe estéticamente perfecto, con el número de visuales ideal, una tipografía limpia, unos colores armónicos… todo perfecto, pero por ahí aparecen los «En blanco» arruinando toda el diseño y no solo eso sino que también confundiendo al usuario con información extraña.
CONFUSIÓN DE DATOS
A colación de la última frase del punto anterior, los valores en blanco nos van a generar mucha confusión cuando estemos analizando los datos. ¿Qué significa un (en blanco) en una gráfica? ¿Es un error? ¿Es un carácter no válido? ¿Quizás es que no se han cargado bien los datos? ¿Tengo un tipo de dato que no es correcto?…
Todos estos puntos no hacen más que desconcertar tanto a los analistas de datos como a las personas que después deben tomar las deciciones empresariales.
Como podemos ver, no se tratan de problemas vanales sin importancia. Se trata de algo que debemos controlar y resolver, pero para esto, primero necesitamos identificar con claridad los motivos que provocan esta situación.
Existen 2 principales motivos que provocan la aparición de estos (En blanco).
- Datos de mala calidad que no están rellenados en el origen
- Problemas de integridad referencial entre las tablas del modelo
Ahora que ya tenemos claro que NO vamos a permitir esos (en blanco) dentro de nuestros informes, veamos diferentes estratégias y soluciones para conseguir evitarlos.
DATOS DE MALA CALIDAD (Vacíos)
Un factor clave cuando se tiene que analizar información es disponer de datos de CALIDAD. La frase es muy obvia, pero lamentablemente, es algo que nos encontramos constantemente en la mayoría de los proyectos que realizamos para nuestros clientes.
Uno de los puntos clave para que nuestros datos tengan calidad es precisamente que los datos estén completos. Los valores vacíos de nuestras celdas de datos DEBERÍAN COMPLETARSE con datos artificiales. Voy a poner un ejemplo que seguro que será más claro y que todos entenderemos.
Imaginemos una dimensión producto como la siguiente:
Podemos observar como el producto 4 (Solomillo Ternera) NO tiene definida una categoría y el producto 8 (Harina de Avena) no tienen definida una subcategoría.
Esto provoca que cuando configuremos una matriz o un segmentador en nuestro informe, los espacios vacíos aparecerán y no harán otra cosa que «ensuciar» la información que se está mostrando y convertirla en información confusa.
La forma de solucionar este problema en realidad, es bastantes sencillo. Para conseguir evitar este problema, debemos rellenar esas celdas vacías con valores artificiales tipo «Sin Categoría«, «Sin Valor» o algo similar. Este proceso lo realizaremos directamente en el origen de los datos o bien utilizando alguna técnica de rellenado de datos en el proceso de ETL.
Al actualizar los datos, veremos como han desaparecido los valores en blanco de nuestro informe y se mejora la interpretación de los datos.
A partir de aquí, podremos completar el proceso configurando alguna ordenación personalizada o algo por el estilo para configurar en qué posición nos interesa que aparezcan estos valores artificiales.
Problemas de Integridad referencial
Es posible que incluso después de haber rellenado correctamente todos los «huecos» de nuestras tablas sigamos experimentando el problema de tener valores «en blanco» en nuestros informes. En estos casos, el problema al que nos enfrentamos es un problema de Integridad Referencial.
Definiremos Integridad Referencial como: la propiedad que asegura que la relación existente entre los valores de 2 tablas sean seguros, válidos y coherentes controlando y certificando que no pueda existir un valor de una clave foránea si antes no se ha creado ese valor como clave principal de la tabla de referencia.
No te preocupes si no has entendido nada del párrafo anterior… es normal y a mi también me pasa… Vamos a intentar ahora definir la integridad referencial mostrando un ejemplo bien simple. La Integridad Referencial dice que no podemos tener registrado en una tabla de ventas un registro de venta del idProducto = 9 si antes no se ha dado de alta el idProducto = 9 en la dimensión de producto.
Esto es algo que en principio es lógico y coherente, no podemos vender algo que no hayamos registrado y dado de alta previamente, pero resulta que cuando cargamos tablas a nuestro modelo de Power BI utilizando el modo de almacenamiento IMPORT, esta integridad referencial no se controla de forma nativa y debemos ser nosotros los encargados en fase de preparación de datos de asegurar la integridad referencial.
Siguiendo con el ejemplo anterior, veamos ahora que pasa si tenemos una tabla de ventas donde se registra una venta sobre un producto que no existe.
Observemos como la tabla azul que representa a las ventas, tiene una venta registrada sobre el idProducto = 9 (clave foránea), en cambio, ese producto no existe en la tabla negra dimensión de producto, donde el idProducto actúa como clave principal.
Cuando actualizamos los datos, vemos los efectos de este problema nuevamente en nuestro informe.
No forma parte de este Post saber cómo hace DAX para identificar estos valores que no cumplen integridad referencial pero como pista os puedo comentar que reviséis la función VALUES de DAX…
En cualquier caso, ahora lo importante para nosotros poder SABER de nuestra tabla de ventas, que valores de la columna idProducto (clave foránea) no existen en la columna idProducto de la Dimensión producto (clave principal) para poder solucionar el problema.
Para esto existen diferentes técnicas pero últimamente me ayudo de una herramienta externa imprescindible para cualquier persona que quiera trabajar con Power BI y que se llama DAX STUDIO, es gratuíta y se puede descargar e instalar fácimente desde la web https://www.daxstudio.org
Ejecutamos DAX STUDIO sobre nuestro modelo y vamos a la pestaña ADVANCE para pulsar en la opción View Metrics
Como muestra la imagen anterior, nos llevará al apartado VertiPaq Analyzer desde donde encontraremos una columna llamada RI Violations (Violaciones de integridad referencial) con un número 1 en color rojo. Ese valor indica que tenemos una violación de integridad referencial con la tabla DimProducto.
Si queremos ver más detalles sobre este problema, nos dirigiremos al apartado Relationships donde podremos observar el número de filas con violación de integridad referencial (1) y el valor de la relación que lo inclumple (en nuestro caso el idProducto 9)
Por defecto, DAX STUDIO sólamente va a mostrar los 3 primeros valores que no cumplen la integridad referencial. Si tuviesemos la necesidad de mostrar más, podemos cambiar la configuración de la herramienta para que nos muestre hasta un máximo de 10 elementos. Este cambio se puede configurar desde:
File –> Options –> Vertipaq Analyzer
Pero si aún así tenemos más violaciones de la integridad referencial y queremos mostrar todos los elementos que la incumplen, podemos también desde DAX STUDIO, pulsar con el botón derecho del ratón sobre la lista de valores de ejemplo que muestra por defecto y seleccionar la opción «Generate Query for all RI Violations». Se generará automáticamente una instrucción en DAX Query que mostrará el listado completo de todos los valores que no cumplan integridad referencial después de ejecutar esta instrucción (Pulsando F5)
Una segunda alternativa para identificar los valores que no cumplen con la integridad referencial pero esta vez utilizando Tabular Editor la tenéis disponible en este post de mi buen amigo Bernat Agulló
Hasta aquí este post dedicado al tratamiento de los elementos en blanco dentro de un informe de Power BI. Cómo hemos podido observar, las causas pueden ser variadas, algunas con soluciones más simples que otras, pero en cualquier caso, deberíamos siempre evitarlos para mejorar la calidad de nuestros trabajos.
Espero vuestros comentarios y nos leemos en el próximo post Exploradores.
6 respuestas a “(En Blanco) ¿Y ahora qué?”
Excelente articulo, nos ayuda a mejorar nuestras presentaciones.
Aprendí sobre de Dax Studio. Gracias!
Muy buen artículo! una funcionalidad útil y en general desconocida.
Muchas gracias!
Excelente Tony, me has dado buenas herramientas para mejorar mis informes.
Extraordianrio Tony, felicidades por el cumpleaños reciente, esto es muy motivador. Gracias
[…] que hablaba sobre como gestionar los (En blanco) que aparecen en nuestros informes de Power BI (ver artículo), iniciamos una seríe de 3 artículos donde analizaremos detalladamente qué son las puertas de […]