Vamos a explicarte en qué consiste el modelado de datos en Power BI, el concepto de tablas, la necesidad de conectar las tablas entre sí, por qué las relaciones entre tablas en Power BI son necesarias en el proceso de realizar visualizaciones en Power BI. Aprenderemos cuándo debemos usar un modelo de datos en nuestro proyecto de Power BI, por qué es tan importante, y qué tipos de modelos existen. Aprenderemos conceptos como “hechos” y “dimensiones”, y aprenderemos qué filosofía debemos aplicar en el tratamiento de los datos para poder llevar a cabo un modelo de datos profesional y único que pueda usarse como una fuente de información para un sistema de reporting.
Más allá de ver Power BI como una herramienta de análisis de reporting para poder analizar datos, comprobar que estos datos reflejan la realidad y crear tablas o Dashboards más complejos con los que tomar decisiones a raíz de un conjunto de datos, debemos ver Power BI como lo que es: una herramienta muy potente que se usa en Business Inteligence para poder crear una ecosistema de datos coherente; Un ecosistema de datos que tiene la capacidad de absorber muchas fuentes de datos, que los puede transformar, conectar, y dar un sentido para que se pueda usar como la “única fuente” de reporting para poder analizar todos aquellos KPIs o valores relevantes para medir y analizar con éxito.
A esta idea de unificar la información, y poder crear una base de datos maestra, le siga otra idea que hace tiempo sonaba un tanto utópica por la complejidad de llevar a cabo esta tarea de forma sencilla, eficaz, con automatismos que hicieran de este proceso una tarea sencilla y viable para cualquier analista.
En un mundo perfecto, las empresas contarían con una única base de datos donde todos los datos comerciales, de interés, relacionados con las actividades comerciales (como La ventas) así como cualquier otro dato de interés, viniese reflejado en un fichero único con el cual poder trabajar directamente para realizar informes con gráficos, tablas, mapas, etc.
La realidad acostumbra a ser muy diferente; Si bien es cierto que la tendencia en esto de los datos es unificar con un mismo programa o software todos los datos que genere una empresa, en especial los comerciales, en la práctica resulta imposible extraer un único fichero que contenga todos los datos necesarios que necesitamos para reportar. Incluso en situaciones donde toda la información o actividad de una empresa se recoge en un mismo programa, a la hora de extraer esos datos, bien por el volumen, o por impedimentos del programa, en muchas ocasiones resulta imposible realizar esa única extracción que nos permita trabajar de forma ágil.
En otras muchas ocasiones, lo que sucede simplemente es que se quiere construir una única base de datos en la cual estamos extrayendo información o datos de programas que son diferentes, y donde resulta imposible hacer este unificado de datos para poder trabajar con una base de datos maestra.
Veamos mejor esta situación con un ejemplo. Imaginémonos una empresa con tienda física y online donde se genera actividad comercial de forma física en las tiendas tradicionales, pero donde existe un canal digital donde además es posible adquirir todos los productos que se ofrecen en una tienda tradicional. En este caso, al margen de las ventas, es posible que, incluso teniendo un mismo sistema donde las ventas (online y offline) se recojan en un mismo programa, existe otro tipo de información que no se puede recoger directamente en este sistema. Por poner un ejemplo, las visitas online, se estarían recogiendo en una aplicación de analítica como Google Analytics. Imaginemos además que esta empresa realiza campañas de publicidad en medios como la TV y en digital, y que queremos añadir esta información a la coctelera para poder determinar la influencia de la publicidad en los canales de ventas.
Si queremos entonces contar con un fichero con toda la información de ventas, información offline, online, y recoger además otros atributos como puedan ser las visitas a las tienda online, y, además, la presión publicitaria y las inversiones diarias en cada canal, no vamos a poder exportar toda esta información de forma unificada haciendo una única consulta. Cada métrica en este caso debe ser recogida de fuentes diferentes donde esta información queda registrada.
Pero lo que si podremos hacer es extraer toda la información de todas las fuentes de datos relevantes para el devenir de la empresa, y unificar la información usando una herramienta que nos permita absorber toda esa información que hemos tenido que descargarla de diferentes fuentes, transformarla, y relacionarla, y finalmente reportarla para tomar decisiones en beneficio de la empresa.
Aquí entran en juego herramientas de business intelligence y data science, como Power BI, y es en estas circunstancias donde vamos a entender mejor qué es un modelo de datos, para qué sirve, y por qué es un paso importantísimo en el tratamiento y la gestión de los datos cuando el objetivo es analizar y tomar decisiones. Es en estos entornos profesionales de gestión de data, donde predomina el exceso de información y falta criterio para unificarla, donde herramientas como Power BI pueden dar con una solución, aplicando un criterio, orden y coherencia, para unificar bases de datos y conectarlas con ese fin del que tanto hablamos: crear una única base de datos maestra que sirva como el pilar y columna vertebral de nuestros análisis e informes, llamado modelo de datos.
1 Qué es un modelo de datos
Un modelo de datos es una representación de un conjunto de datos organizados y estructurados en diferentes tablas que están organizados y relacionados entre sí, de tal forma que pueden crearse informes completos, con los diferentes campos, atributos o dimensiones que se recogen en las diferentes tablas de datos. Establecer esta relación es posible gracias a un campo en común que funciona como conector entre las diferentes tablas donde existe una tabla matriz, comúnmente llamadas facts o hechos, y unas tablas con dimensiones que actúan como amplificadores de la información.
Por ejemplo, en una tabla se recoge información a cerca de las ventas de una compañía, y en otras tablas secundarias, se recoge más información acerca de esas ventas, atributos como podrían ser:
- Cuándo se han realizado
- Dónde se han producido esas ventas
- Quien ha conseguido esas ventas
- Cómo se han conseguido esas ventas
- Qué productos exactamente se han vendido.
El modelo de datos es la estructura ósea de los informes, como una columna vertebral, en la cual tenemos una información bien organizada y relacionada, para poder sortear el hándicap de tener información en diferentes fuentes que debe ser unificada para poder darle un sentido y reportar en consecuencia con la globalidad de los datos.
En la transformación de los datos, ya vimos como Power BI tiene en Power Editor las funciones de combinar y anexar precisamente para poder realizar una única consulta con toda la información cruzando la información con un campo en común.
El modelo de datos va un paso más allá para casuísticas más complejas donde la combinación de diferentes fuentes y conjuntos de datos, requiere la creación de una estructura de tablas que estén relacionadas entre sí.
- Se cargan directamente los datos en Power BI
- O bien cuando terminamos la fase de transformación, cuando cerramos y aplicamos los cambios en Editor Power Query
Incluso en una hipotética situación donde tenemos información separada en varias tablas, podemos manejarnos, como ya vimos en transformación de datos en Power BI, con las opciones de combinar consultas y anexar consultas: dos funciones que existen en la transformación de los datos, dentro de las herramientas del Editor de Power Query, para poder realizar cruces de información y unificar datos.
En cualquier caso, como hemos comentado el modelo de datos se va a crear, y lo podremos ver en el módulo “modelo de datos”, representado en un botón a la izquierda, en el pequeño menú vertical, donde nos podremos mover en cualquier momento entre los datos, el modelos y las visualizaciones creadas.
Además, debemos tener en cuenta que, desde el modelo de datos, aún teniendo toda la información ya previamente recogida en la misma tabla, es posible que queramos crear alguna columna nueva para realizar campos calculados, o que queramos realizar alguna medida para realizar cálculos.
Power BI funciona, a la hora de hacer cálculos en columnas nuevas, de una forma diferente a Excel. Las medidas y campos calculados son en Power BI lo que en Excel son las fórmulas con las que calculamos y realizamos operaciones.
Este detalle, es importante pues a la hora de crear el modelo, como ya hemos visto este se crea por defecto de forma automática, Power BI pondrá en el eje del modelo como tabla matriz o tabla de hechos (o facts) la hoja de Excel que seleccionemos primero.
Lo mismo ocurre cuando transformamos los datos. Si vamos a transformar varias hojas de Excel, te recomendamos transformar primero la que va a ser tu tabla de hechos.
Si no seguimos este orden, no hay problema porque las relaciones de las tablas como veremos es algo que puedes cambiar en cualquier momento, y puedes editar y crear tu las relaciones entre tablas de forma manual. Pero si tenemos esta forma de proceder, lo cierto es que nos ahorramos luego una parte del proceso que sería más manual.
Cómo veremos más adelante, y ya hemos comentado en ocasiones anteriores, la “estandarización de conceptos” es fundamental. Más que un requerimiento de Power BI, es una filosofía que debemos aprender y predicar en nuestro trabajo con el fin de obtener un resultado profesional.
Cuando hablamos de estandarización de conceptos, estamos hablando de usar siempre el mismo criterio en las nomenclaturas (naming), en cómo llamamos a los eventos, personas, o conceptos en la información que se recogen tanto en los nombres de las columnas, como en la información de cada columna de una tabla.
Por ejemplo, imaginemos una empresa que vende ordenadores, periféricos y productos informáticos, y que tiene presencia en varios países. En las bases de datos donde se recoge la información de las ventas, nos encontramos diferentes formas de llamar a un mismo producto: ordenador portátil o laptop. A la hora de cruzar la información, crear un modelo, o directamente representarla en una tabla o un gráfico, tenemos que unificar el criterio de este producto. A riesgo de caer en la obviedad, lo cierto es que en la práctica nos encontramos con informes erróneos por este motivo, con falta de estandarización de criterios.
Es muy usual encontrarnos con informes donde se ha empleado muchos esfuerzo en crear un informe muy visual, atractivo a la vista, pero que presenta errores de este tipo porque no se ha dedicado tiempo y esfuerzo suficiente a revisar los datos. Por este motivo, decimos que debemos inculcarnos esta filosofía de revisar, comprobar y asegurar que los datos con los que vamos a realizar los informes reflejan fielmente la realidad, que son datos válidos, que hay unificación de criterios, etc.
Imaginemos otro caso donde precisamente el campo o columna donde se recoge la información que vamos a usar como campo común para crear nuestro modelo, contenga errores, valores duplicados, etc. El informe derivado de este modelo mal hecho, nos dará como resultado información que no es real, no es correcta, y obviamente nos llevará a tomar decisiones sobre una base errónea. Como veremos más adelante, una vez hemos realizado la transformación de los datos, y hemos creado un modelo válido, realizar un informes es una tarea intuitiva y sencilla gracias a la interfaz de Power BI y de las funciones que existen dentro del módulo “visualizaciones”.
2 Tipos de modelos de datos
En función de la simplicidad, o la complejidad del modelo, podemos hablar principalmente de dos tipos de modelos: uno donde existen un campo en común que funciona como denominador común y conector, uniendo la tabla principal (Facts o hechos) con otras tablas secundarias (dimensiones) que amplían la información.
Modelo de datos “matriz” o comúnmente llamado modelo de datos estrella: En este modelo de datos tenemos una tabla de hechos, que por ejemplo son las ventas de una empresa con un identificador único, y alrededor tenemos otras tablas secundarias que en este caso aportarían más información de la venta: Canal de la venta donde se ha producido (si ha sido en tienda online o tienda física), el mes donde se ha producido la venta, y qué producto se ha vendido en cada caso.
Modelo de datos arbolado: Es este modelo de datos va un paso más allá, en tanto tenemos como en el modelo de datos de estrella una tabla de hechos conectado con otras tablas dimensionales por un campo en común, y además tenemos otras tablas de datos que están conectadas con las tablas dimensionales secundarias. Así podemos conectar las tablas secundarias o dimensiones con otras tablas que aportan otra información, que no está conectada a la matriz pero si a las dimensiones en base a otro concepto, como puede ser una fecha. De esta forma todas la tablas estarán conectadas directa o indirectamente a la matriz, a la tabla de hechos para poder construir una única estructura de los datos.
3 ¿Cuándo crear un modelo de datos?
Un modelo de datos se crea automáticamente como hemos visto cuando cargamos datos directamente en Power BI, o después de guardar los cambios y cerrar el editor de consultas Power Query, es decir después de la transformación de los datos. En ambos casos, es decir una vez que los datos se han importado en Power BI, automáticamente se va a crear un modelo que puedes ver, editar y configurar las relaciones entre tablas desde el botón de modelo que existe en el menú vertical a la izquierda, como pudimos ver en la imagen.
Debemos emplear esfuerzo a configurar nuestro modelo de datos especialmente cuando tengamos que consolidar información que se encuentra en fuentes diferentes, cuando tengamos información desagregada, que deba ser consolidada y estructurada para poder realizar un análisis completo con la información necesaria.
Debemos por norma general, y como ya hemos comentado aplicar la filosofía de revisar el trabajo que vamos realizando. En este caso, es importante que en esta fase revisemos que relaciones se han creado en el modelo, y si debemos eliminar alguna relación o establecer relaciones nuevas entre las tablas de datos importadas.
Además, debemos tener en cuenta como también hemos comentado que, una vez creadas las relaciones entre las tablas, es hora de ver si es necesario realizar medidas (Dax) para añadir nueva información o cálculos a nuestros tablas de datos y modelos. Como siempre, pensando en el informe final que vamos a realizar, pensando en qué métricas queremos y necesitamos reportar en el informe. Si todas esta información se encuentra ya en las tablas, o al fusionar diferentes tablas y relacionarlas debemos por ejemplo calcular ratios o realizar alguna operación como sumas, multiplicaciones, divisiones o cálculos más complejos.
Cuando trabajamos en Power BI, como ya sabemos y hemos explicado en las fases de Proyecto en Power BI, es recomendable siempre empezar transformando los datos y convertirlos en consultas. Cuando realizamos este paso, con todos los datos que queremos usar en el modelo, Power BI nos creará automáticamente un modelo de datos conectado siempre y cuando tengamos un campo en común en todas las tablas, un identificador único que Power BI detectará y usará como conector. Para que esto suceda, debemos de tener un campo en común en todas las tablas, una columna con valores que sean identificadores únicos, y que el nombre de esta columna sea el mismo. Esto facilita el trabajo a Power BI, pero también a ti ya que no tendrás que establecer manualmente la conexión entre las tablas. La relaciones que se crean entre tablas de forma automática, se pueden gestionar y administrar de forma manual, eliminando o estableciendo otras relaciones nuevas entre las tablas. Este proceso te lo explicamos a continuación en cómo hacer un modelo de datos en Power BI.