Buenas prácticas para la elaboración de modelos en Power BI

¿Cómo estudiar los modelos en Power BI? Veámoslo con un ejemplo cotidiano. Estamos en la cocina y vamos a preparar una receta algo complicada. ¿Qué pasos seguirías para que quede de categoría? 

Seguramente empieces por leer la receta entera, entenderla, apuntar los ingredientes, comprobar que tienes las cantidades necesarias y planificar en qué momento vas a realizarla. 

Imagínate que la receta tiene frases ambiguas, que utiliza nombres distintos para referirse al mismo ingrediente, o hay ingredientes que no se mencionan en los pasos, que utiliza medidas distintas, que tiene abreviaturas que no logras identificar, que no optimiza el tiempo cuando pueden estar cocinándose varias cosas a la vez o que te guía a hacer un proceso varias veces innecesariamente.  

Puedes alcanzar un buen resultado con mucho esfuerzo de interpretación y ejecución, sin embargo, ¿conseguirías un mejor resultado si la receta viniese bien estructurada y explicada? 

Algo parecido sucede cuando desarrollamos un modelo de datos en Power BI. Por eso, hemos recopilado unas buenas prácticas para que tu informe obtenga tres estrellas Michelin ? 

1. Describir, describir, describir.  

Cocina

– El nombre del archivo .pbix será la primera impresión del informe. Cuida que tenga un equilibrio correcto entre especificación y longitud. No utilices nombres de meses, años o similar, ya que será utilizado a lo largo del tiempo. Intenta no utilizar abreviaturas. 

– Comentar y nombrar adecuadamente los distintos elementos con los que trabajamos. Por ejemplo, aunque para nosotros sea sencillo interpretar el modelo y no veamos necesidad de comentar una tabla del tipo “Ventas”, hay que pensar en alguien que lo ve por primera vez. Quizá esta tabla se nutra de ventas con una característica concreta que a priori con el nombre no desciframos. Altamente recomendable comentar los siguientes elementos: 

  • Power Query. Tanto en los pasos aplicados a la consulta como en el código M de alguna transformación personalizada. Esto facilitará hacer un seguimiento de cómo han cambiado los datos de origen hasta conseguir los datos “cocinados” que vamos a utilizar. 
  • Tablas. Incluir de dónde vienen, qué contienen y características. 
  • Campos. Qué información contiene, en qué formato y si es numérico sus unidades de medida. 
  • Medidas DAXHaciendo hincapié en cálculos complejos o medidas extensas. 
  • Utiliza un lenguaje natural que sea fácil de entender por personas que no tengan nociones de programación y les ayude a comprender qué está haciendo el proceso. Evita también utilizar abreviaturas en la medida de lo posible. 

– Añade sinónimos en las propiedades de las columnas, las medidas y las tablas. Esto será de gran utilidad para el uso de la característica de Preguntas y Respuestas de Power BI. Tienes más información sobre esta característica en https://docs.microsoft.com/es-es/power-bi/create-reports/power-bi-tutorial-q-and-a 

– Muchas de las dudas que les surgen a los usuarios respecto al uso o contenido del informe suelen ser recurrentes, por lo que les sería de gran utilidad encontrar una Página de ayuda en el informe. 

2. Limpiar los datos con Power Query 

Anexar consultas. El objetivo es tener una tabla con todos los datos de una misma dimensión o hecho que estén en distintos orígenes. Por ejemplo, tenemos clientes repartidos en dos bases de datosDeberemos seleccionar en ambos orígenes las columnas que vamos a necesitar y tras establecer la misma estructura en ambos casos, anexaremos la información para obtener una sola tabla con toda la información. Asegurarse de eliminar duplicados puros y estudiar qué realizar con los duplicados no puros (aquellos que tienen distintos valores en la misma columna). 

Combinar consultasIncorporar en una única tabla columnas con información relacionada. Podríamos incorporar en la tabla de clientes la información relativa a la ciudad a la que pertenece, sin necesidad de tener que cargar la tabla que contiene la información de cada ciudad 

Claves subrogadas. Cada registro de tabla debe estar identificado únicamente por un valor numérico incremental, preferiblemente entero. Podemos crear claves desde la pestaña Agregar columna > Columna de índice. 

Limpiar comida

Cargar sólo columnas que vayan a ser utilizadasAunque parezca obvio, solemos dejar columnas “por si acaso”. Lo mejor es eliminarlas en un paso de Power Query y si en el futuro se necesitaran, modificar o eliminar dicho paso. 

Columnas personalizadas o calculadas. También se pueden crear en el apartado de Datos (Nueva columna DAX) en el informe. Una de las ventajas de crearlas en Power Query es suprimir aquellas columnas intermedias que finalmente no van a ser utilizadas en el modelo. 

Desmarcar “Habilitar carga En aquellas tablas intermedias que utilizamos para obtener las tablas finales y no deben estar visibles en el modelo. 

Usa parámetrosTe ahorrará mucho tiempo en cambiar orígenes en las consultas, aplicación de filtros, reutilización de código..

Seleccionar datos desde una vista y no desde la tabla directamente. Tiene ventajas como control de accesos, mejora del rendimiento y reusabilidad. Para más información sobre las vistas puedes consultar la documentación de Microsoft. https://docs.microsoft.com/es-es/sql/relational-databases/views/views?view=sql-server-ver15  

3. FoodpairingModelo entidad – relación 

Desactivar “Detectar automáticamente nuevas relaciones cuando se carguen los datos”. Lo mejor es que diseñemos las relaciones entre tablas sabiendo cuál es el resultado que queremos conseguir y así evitar que se creen relaciones erróneas o innecesarias.

Desactivar “Fecha y horas automáticasPower BI crea una tabla oculta de fecha y hora automáticas para cada columna de tipo fecha. Es recomendable crear una tabla calendario propia con DAX para la creación de informes con inteligencia de tiempo.

Restringir el uso de relaciones bidireccionales a las estrictamente necesarias. Se puede obtener puntualmente el resultado de un uso de relación bidireccional mediante la expresión CROSSFILTER de DAX. 

– Las relaciones inactivas sólo deben existir si han sido creadas por el desarrollador para un fin concreto. 

4. Elaboración y manipulación de campos: columnas y medidas DAX 

 

Manos cortando verdura

– Muestra un campo sólo una vez en todo el conjunto de datos. En ocasiones un campo está disponible en varias tablas, debemos seleccionar cuidadosamente cuál es el que nos proporciona la información que nos interesa y mostrar éste únicamente. Además, oculta aquellos campos que no aporten información al usuario de negocio, como identificadores, claves ajenas, etc. A muchos usuarios les gusta ver los ID’s, pero en general no es buena idea. 

– Organiza las medidas DAX. Las medidas tienden a crecer en un informe, las podemos organizar de dos maneras: 

  • Carpeta para mostrar. En las propiedades de la medida, en la pestaña del modelo, podemos crear una carpeta de medidas dentro de una tabla. Es muy útil para tener juntas todas aquellas medidas que hacen referencia sólo a esa tabla. 
  • Si la medida pudiera clasificarse dentro de dos o más tablas, lo más indicado es crear una tabla DAX vacía (BLANK()) que contenga las medidas comunes para mejor accesibilidad. 

Usa mensajes de error. Mediante la función ERROR de DAX podemos proporcionarle información al usuario de qué es lo que está fallando cuando se produzca un error en una visualización. 

– Seleccionar el formato para campos numéricos, porcentaje y de fecha. En los campos numéricos prestar especial atención a los símbolos de separación de miles y a los decimales a mostrar, al igual que si se trata de un valor numérico o de un valor asociado a moneda. Esto dará una muy buena impresión en el informe y facilitará la tarea del analista. 

Establecer resumen en las columnas numéricas y categoría de datos en columnas como ciudad, código postal, latitud, longitud... Tener el formato adecuado nos permitirá visualizar los datos correctamente, en el caso de las coordenadas, que se muestren los puntos en un mapa, o en el caso de los numéricos, que aparezcan totales en las tablas, que se apliquen promedios en agrupaciones por defecto... 

5. Emplatado del informe. Recomendaciones generales.  

Reutilización de conjuntos de datosSi se precisa crear un nuevo informe, debemos comprobar si los datos ya están siendo utilizados por otro informe. Si es así los aprovecharemosconsiguiendo no duplicar cargasreduciendo el número de operaciones y mantenimiento (compartiendo un único modelo entre los dos informes). 

– Utilizar el historial de versiones. Utilizar OneDrive o un servicio de alojamiento en web como Bitbucket, nos permitirá recuperar una versión anterior del informe en caso de que algo salga mal. 

Tema personalizado Power BI. Quizá necesites crear un tema con tus colores corporativos en vez de ir cambiando una a una todas las visualizaciones. Crea tus propios temas y ahorra tiempo con la siguiente ayuda: https://docs.microsoft.com/es-es/power-bi/create-reports/desktop-report-themes 

Configurar seguridad a nivel de fila. Restringe la visualización del informe según el rol que tenga el usuario. En un informe de ventas puedes restringir que los agentes visualicen sólo los datos de la región a la que pertenecenNunca dupliques informes para dar accesos limitados a la información. 

Emplatado

Con estos tips cualquier cocinero que se ponga frente a los fogones tendrá todos los utensilios e información necesaria para ser reconocido como un gran chef.

Desde el equipo de sumamoOs, os queremos desear unas felices fiestas y próspero año nuevo 2021. Estamos expectantes de qué nos estará preparando el equipo de Power BI para el mes de febrero.

¿Quieres conocer más detalles?

En sumamoOs somos partner de Microsoft especializados en el análisis y extracción de datos con Power BI, de modo que, si quieres averiguar más detalles sobre el uso de paneles e informes, puedes echar un vistazo aquí o contactar directamente con nosotros a través del siguiente formulario para conocer cómo transformar tu empresa empleando la infinidad de posibilidades que ofrece Power BI.

¿Te ha gustado este artículo?

Puedes compartirlo en tus redes sociales