Descargar e instalar Microsoft Power BI Desktop. Realizar las tareas habituales en las aplicaciones de Bussines Inteligence de descubrimiento y preparación (conexión con orígenes de datos, por ejemplo MySQL), modelado y visualización. Realizaremos una conexión con un servidor de MySQL Server, limpiaremos y prepararemos los datos, estableceremos las conexiones entre las tablas y un dashboard de visualización de resultados en gráficas. Publicamos los resultados en el servicio web Power BI.
- Microsoft Power BI Desktop.
- Descargar e instalar Power BI Desktop.
- Primera fase: orígenes de datos, acceder, conexión con BD MySQL.
- Segunda fase: transformación (preparación) de datos con Editor de Power Query.
- Tercera fase: modelado de datos.
- Cuarta fase: visualizar, gráficas, dashboard.
- Quinta fase: publicar y compartir los resultados mediante el servicio web de Power BI.
Microsoft Power BI Desktop
Herramienta gratuita para análisis visual de datos. Con Power BI podrán crearse, de forma intuitiva y fácil, visualizaciones de datos e informes interactivos.
Permite conectar, combinar, modelar y visualizar los datos. Todos los elementos visuales (gráficos, paneles, informes) se pueden colocar en el lugar que se quieran, se pueden analizar y explorar de forma intuitiva y visual.
Con Power BI Desktop se puede:
• Conectar de forma segura a cientos de orígenes de datos, tanto en la nube como en el entorno local.
• Transformar y mezclar datos de varios orígenes.
• Ampliar sus modelos de datos con fórmulas DAX.
• Elegir entre más de 100 elementos visuales de datos de vanguardia o crear los suyos propios.
• Profundizar en los datos para buscar patrones y obtener información.
• Ampliar su diseño con temas y herramientas de formato intuitivo.
• Crear informes móviles para que los usuarios puedan usarlos desde cualquier lugar.
• Compartir análisis visuales con todos los miembros de la organización.
• Publicar contenido de forma segura en Internet o un servidor de informes local, o insertar elementos visuales en un sitio web o aplicación.
Descargar e instalar Power BI Desktop
La versión Desktop de Power BI es gratuita y está disponible en Microsoft Store, accederemos Microsoft Store y buscaremos «Power BI Desktop». Pulsaremos en Descargar, se instalará en unos pocos segundos de forma automática. Pulsaremos en Abrir:
Como vemos, el proceso de descarga e instalación de Power BI Desktop es muy rápido y automático.
Primera fase: orígenes de datos, acceder, conexión con BD MySQL
Seguiremos las fases habituales para el BI en cualquier herramienta software. En primer lugar revisaremos y consultaremos la base de datos de la que queramos hacer BI. En nuestro caso será un servidor MySQL Server y las tablas . Por lo tanto, el primer paso será revisar que tenemos acceso a dicho servidor, consultar el nombre de las tablas que queramos usar para hacer BI, etc. En el caso de MySQL podemos usar MySQL Workbench para acceder y revisar la conexión:
Para el ejemplo, usaremos las tablas: factura, tercero, material, marca, modelo y facturadetalle. Clientes con mayor volumen de facturación, evolución de la facturación por año, materiales más usados, materiales de mayor volumen de facturación, etc. Con Power BI podrá realizarse cualquier análisis que queramos.
Para conectar con el origen de datos, abriremos Power BI Desktop y pulsaremos en la cinta de opciones «Inicio» y en el botón «Obtener datos»:
Power BI admite conexión con un sin fin de motores de bases de datos (SQL Server, Access, Oracle, IBM Db2, Informix, MySQL, PostgreSQL, Sybase, Teradata, SAP HANA, …) y ficheros (csv, pdf, json, xml, libro de Excel). Para el acceso a MySQL, pulsaremos en «Base de datos» a la izquierda y en «Base de datos MySQL» a la derecha y pulsaremos en «Conectar»:
Si no tenemos instalado e .Net, nos avisará con este mensaje:
Este conector requiere que uno o varios componentes adicionales se instalen antes de que se pueda usar.
Pulsando en «Más información» nos llevará al sitio web de descarga del componente, que para el caso de MySQL es:
Descargaremos e instalaremos el componente MySQL Connector/NET 8.0.28 (o la versión que necesitemos para nuestro servidor de MySQL Server):
Seguiremos el asistente de instalación del componente:
Pulsaremos en «Custom»:
Elegiremos las opciones a instalar, en nuestro caso dejaremos todas marcadas:
Pulsaremos en «Install»:
Se instalará MySQL Connector Net. Pulsaremos en «Finish»:
Tras la instalación del conector, puede que haya que cerrar Power BI y volver a abrirlo para que detecte el conector. Volveremos a la ventana de Obtener datos e introduciremos los datos de conexión con el servidor de MySQL (IP del servidor o nombre DNS, base de datos (catálogo, esquema)):
Elegiremos a continuación «base de datos» e introduciremos usuario y contraseña de acceso al servidor de MySQL:
Marcaremos las tablas que queramos cargar en nuestro proyecto BI. Serán las tablas con las que trabajemos, en nuestro caso: factura, tercero, material, marca, modelo y facturadetalle. El navegador de Power BI nos mostrará una vista previa de cada tabla seleccionada.
Una vez elegidas las tablas, si consideramos que los datos que contienen son correctos y no hay que hacer transformaciones, pulsaremos en «Cargar». Pero habitualmente, sobre todo en orígenes de datos como CSV, puede que antes de cargar los datos para consumirlos, debamos realizar operaciones de transformación y limpieza.
Incluso aunque sepamos que la información es correcta, recomendamos pulsar en «Transformar datos» para revisar todas las tablas, quitar columnas que no necesitemos, quitar filas innecesarias, unir varias columnas, dividir columnas, etc. Pulsaremos en «Transformar datos»:
Segunda fase: transformación (preparación) de datos con Editor de Power Query
Nos abrirá el Editor de Power Query, desde el que podremos realizar infinidad de operaciones de transformación del dato. Es un editor gráfico e intuitivo y con él podremos depurar la información antes de cargarla definitivamente para consumirla. Como ejemplo, vamos a realizar algunas operaciones de transformación típicas.
En primer lugar, por cada tabla de las seleccionadas, vamos a quitar todas las columnas que no necesitemos para nuestro análisis BI. En el caso de la tabla factura, sólo nos interesan las columnas codigo, importetotal, codigocliente, fecha y cobrado. Por lo tanto, el resto de columnas las eliminaremos. Para ello elegiremos la columna a eliminar y pulsaremos con el botón derecho sobre ella, en el menú emergente pulsaremos en «Quitar». Por supuesto, podremos elegir varias columnas (con el Control pulsado) y eliminarlas a la vez:
Haré este mismo proceso para el resto de las tablas, dejando sólo las columnas que necesitemos. En el caso de la tabla material, dejaremos las columnas: codigo, codigofactura, codigomaterial, cantidad, importe. Para la tabla tercero, dejaremos codigo y nombre. La tabla marca tendrá codigo y nombre. Simplificaremos así los datos con los que trabajaremos, para hacer más rápidas las consultas.
Para obtener una ayuda visual sobre la calidad de los datos de cada columna, desde la cinta de «Vista» marcaremos «Calidad de columnas». Nos mostrará una estadística por cada columna de los datos que encuentra válidos, erróneos y vacíos (nulos):
Otro ejemplo de transformación, en la tabla «material» tenemos la columna «activo» y sus valores son «S» para Activo = Sí y «N» para Activo = No. Lo que haremos será crear una columna nueva condicional de forma que si el valor de la fila de la columna activo es «S» se transformará a True y en caso contrario se transformará a False. Para hacer esto seleccionaremos la tabla «material» [1], pulsaremos en la cinta «Agregar columna» [2] y pulsaremos en «Columna condicional» [3]:
Para agregar una columna condicional indicaremos los siguientes datos:
- [1]: nombre de la columna que se generará, por ejemplo «Activo_Booleano» (se puede cambiar posteriormente).
- [2]: elegiremos la columna que contiene los valores a transformar, en nuestro caso «activo».
- [3]: introduciremos el texto que queremos buscar en las filas de la columna, en nuestro caso «S».
- [4]: introduciremos el texto por el que se reemplazará, en nuestro caso «True».
- [5]: en caso de que no sea «S» el valor de la columna «activo», introduciremos el valor por el que se reemplazará, en nuestro caso «False».
Al pulsar Aceptar en la ventana anterior, el Editor de Power Query habrá creado una nueva columna «Activo_Booleano», cambiando los valores «S» por True (1) y los valores diferentes de «S» por False (0). Ahora podremos establecer el tipo de datos de esta nueva columna a Verdadero/Falso. Para ello pulsaremos con el botón derecho sobre la nueva columna creada y en el menú emergente elegiremos «Cambiar tipo» – «Verdadero/Falso»:
Quitaremos la columna «activo» dado que la hemos sustituido por «Activo_Booleano»:
Seguimos transformando datos, ahora vamos a reemplazar los nulos de una columna de importe (numérica) por 0, para el caso de la tabla material, que el editor nos indica que un 5% de los registros de la columna precioventa son nulos. Haremos la transformación también para la columna preciocompra, dado que se pueden aplicar transformaciones a varias columnas a la vez. Para ello, las seleccionaremos y pulsaremos con el botón derecho del ratón sobre alguna de ellas. En el menú emergente elegiremos «Reemplazar los valores…»:
En «Valor que buscar» introduciremos «null» y en «Reemplazar con» elegiremos «0»:
Seguimos limpiando y depurando datos y tipos de datos, para el caso de la tabla factura, tenemos una columna con el tipo Fecha/hora y queremos que se quede en sólo Fecha, para ello pulsaremos con el botón derecho sobre dicha columna y elegiremos «Cambiar tipo» – «Fecha»:
Podremos modificar el tipo de datos asignado por defecto de cualquier columna.
En el caso de la inspección de la tabla modelo nos damos cuenta de que el 100% de los registros de la columna codigomarca está a null.
Por lo tanto esta tabla no nos aportará información útil en nuestro BI, procederemos a marcarla para que no sea cargada (o bien a eliminarla de la carga). O bien pulsando con el botón derecho del ratón sobre la tabla y eligiendo «Habilitar carga» (para que se quede desmarcada esta opción) o bien eligiendo «Eliminar»:
En el caso de las columnas de importes (moneda) observamos que tienen más de dos decimales, podemos redondear los valores y dejarlos, por ejemplo, en dos decimales. Para ello, seleccionaremos las columnas a redondear y accederemos a la cinta «Transformar» [1], elegiremos «Redondeo» [2] y «Redondear…» [3]:
Introduciremos las posiciones decimales, en nuestro caso «2» y pulsaremos «Aceptar»:
En la parte derecha tendremos el panel de Pasos aplicados, donde el Editor de Power Query nos va guardando todas las transformaciones que hemos realizado. Podemos editar cualquier transformación o incluso eliminarla o modificarla de orden, teniendo en cuenta que un paso previo puede afectar a uno posterior.
Por cada paso aplicado, pulsando con el botón derecho del ratón, podremos realizar varias acciones, por ejemplo ver la consulta nativa:
Para el ejemplo de la columna condicional que hemos agregado Activo_Booleano, la consulta nativa será:
La consulta SQL nativa generada automáticamente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
select `_`.`codigo` as `codigo`, `_`.`nombre` as `nombre`, `_`.`preciocompra` as `preciocompra`, `_`.`precioventa` as `precioventa`, `_`.`stock` as `stock`, `_`.`activo` as `activo`, case when `_`.`activo` = 'S' and `_`.`activo` is not null then 1 else 0 end as `Activo_Booleano` from ( select `codigo`, `nombre`, `preciocompra`, `precioventa`, `stock`, `activo` from `ajsoluciones`.`material` `$Table` ) `_` |
Realizaremos las transformaciones restantes en el editor, que es muy potente, podremos realizar todo tipo de operaciones matemáticas en las columnas numéricas (sumas, restas, divisiones, trigonométricas, potencias, raíces, factoriales, logaritmos, promedio, mediana, media, desviaciones, etc. Podremos transponer filas por columnas y columnas por filas, invertir filas, agregar columnas aplicando funciones, formatear las columnas de texto (cambiar mayúsculas, minúsculas, agregar prefijos, sufijos, extraer parte del texto, extraer por delimitadores, combinar columnas, dividir columnas, etc.
Y gracias a que admite conexión con R o con Python, podremos aplicar cualquier transformación a nuestros datos usando estos lenguajes de programación.
Una vez que tengamos las transformaciones aplicadas procederemos a aplicar los cambios para cargar los datos limpios y transformados en Power BI. Para ello, desde el Editor de Power Query, pulsaremos en la cinta «Inicio» y en «Cerrar y aplicar»:
Nos mostrará el progreso de la aplicación de las transformaciones a nuestros orígenes de datos. Una vez concluido, volveremos a Power BI y comprobaremos que en el panel «Campos» nos aparecen las tablas y sus campos»:
Tercera fase: modelado de datos
Tras cargar los datos preparados en Power BI, accederemos al Modelo. Si hemos usado un origen de datos que incluye claves primarias, claves foráneas e índices, puede que Power BI, de forma automática, nos aplique un modelado (relación entre tablas). En caso de que hayamos usado orígenes de datos como CSV, Excel, JSON, XML, etc., tendremos que realizar el modelado de forma manual.
Pulsaremos en el botón «Modelo»:
Power BI nos ofrecerá un modelado automático, que debemos revisar. En nuestro caso, teniendo en cuenta que en MySQL no hemos usado claves foráneas, el modelado automático no se corresponde con la realidad:
Por ello lo reharemos de forma manual. Es muy sencillo al ser visual. Modificaremos las relaciones establecidas o bien las eliminaremos directamente, pulsando con el botón derecho del ratón y eligiendo «Eliminar»:
Desde el modelado podemos cambiar los nombres de las tablas y campos, aunque este proceso es recomendable hacerlo en la fase de transformación:
Para crear una nueva relación, será tan fácil como arrastrar la columna (campo) de una tabla a la columna de la otra relacionada. Por ejemplo, para relacionar la tabla «facturadetalle» con la tabla «factura», usaremos el campo «codigofactura» de la tabla «facturadetalle» y el campo «codigo» de la tabla «factura»:
También podremos editar una relación existente, haciendo doble clic sobre ella, nos abrirá la ventana de edición de la relación. En esta ventana nos mostrará las dos tablas relacionadas y los campos (en gris) por los que se relacionan. También podremos modificar la cardinalidad y la dirección de filtro cruzado:
En nuestro caso nos hemos dado cuenta de que hemos eliminado una columna necesaria en la tabla «material», la columna «codigomarca», para enlazar el material con su marca.
Esto lo hemos realizado a propósito para mostrar que en cualquier momento, podemos volver a la fase de transformación, pulsando en «Transformar datos»:
Para recuperar una columna eliminada, seleccionaremos la tabla [1], seleccionaremos la acción «Columnas quitadas» [2] y en Table.RemoveColumns, eliminaremos, en nuestro caso, «codigomarca» [3], quitando también la coma y las comillas dobles:
Quedando:
Volveremos a Cerrar y aplicar y continuaremos con el modelado, ahora tendremos la columna codigomarca en la tabla material para enlazarla con la tabla marca por su campo codigo. Y nuestro modelado final quedará:
Relacionando los siguientes elementos:
factura.codigo | facturadetalle.codigofactura |
factura.codigocliente | tercero.codigo |
material.codigomarca | marca.codigo |
facturadetalle.codigomaterial | material.codigo |
Pulsando en «Administrar relaciones» podremos obtener las tablas relacionadas por sus campos:
Desde la ventana de Administrar relaciones podremos editar las relaciones, como hemos hecho anteriormente haciendo doble clic sobre una relación:
Cuarta fase: visualizar, gráficas, dashboard
Como última fase, tras preparar los datos y establecer las relaciones, estaremos en disposición de hacer el BI propiamente dicho. Para ello pulsaremos en el botón «Informe»:
Vamos a crear varios gráficos simples de forma rápida y visual, para comprobar la eficacia y sencillez de Power BI. En primer lugar crearemos un gráfico que nos muestre el importe total facturado por cliente. Para ello elegiremos el tipo de gráfico a usar, por ejemplo el Gráfico de columnas agrupadas (en el panel «Visualizaciones»):
Al pulsar en el gráfico Power BI creará un objeto visual vacío. Con el objeto visual seleccionado:
En el panel de Campos, desplegaremos los campos de la tabla «factura» y marcaremos «importetotal»:
Desplegamos la tabla «tercero» y marcamos el campo «nombre»:
De forma dinámica, Power BI va dibujando el gráfico al ir eligiendo las columnas. Podemos ver el resultado directamente:
Pero lo normal será aplicar algún filtro adicional para, por ejemplo, mostrar sólo los 15 clientes con más facturación, de forma que el gráfico no se vea tan colapsado de información. Para ello, en el panel de Filtros, en el campo a filtrar, pulsaremos en «Filtro básico» y en «Top N»:
Elegiremos el número de clientes a mostrar con importe mayor:
Arrastraremos el campo «importetotal» de la tabla «factura» a Por valor (Agregar campos de datos aquí):
Ahora nos mostrará un gráfico más fácil de entender, con los 15 clientes que más han facturado:
Vamos a agregar un segundo gráfico, en este caso para visualizar las marcas de materiales que más han facturado. Agregaremos una segunda página a nuestro dashboard:
Y agregaremos en esta página un gráfico de tipo Gráfico circular:
Marcaremos el campo «nombre» de la tabla «marca» (que hemos renombrado a «Marca») y el campo «importe» de la tabla «facturadetalle» (que hemos renombrado a «Importe»):
Y aplicaremos varios filtros, puesto que se pueden agregar todos los filtros que se quiera unidos por los operadores O/Y, para no mostrar las marcas sin nombre:
Para no mostrar las marcas con nombre «Indeterminado»:
Y para mostrar las 10 primeras marcas por importe facturado:
El gráfico quedará con este aspecto:
De esta forma podremos hacer infinidad de gráficos e informes de datos, con cualquier combinación imaginable.
Quinta fase: publicar y compartir los resultados mediante el servicio web de Power BI
En cuanto tengamos construido el dashboard con los gráficos e informes de datos que queramos, podremos compartirlos con otros miembros de la organización vía web. Para ello, en primer lugar, necesitaremos disponer de una cuenta de Microsoft (registro gratuito), pues nos la solicitará para acceder a …………
Pulsaremos en «Publicar»:
Si no hemos guardado los cambios, nos mostrará un mensaje para hacerlo:
Nos solicitará la cuenta de correo electrónico de Microsoft, la introduciremos:
Introduciremos la contraseña de acceso:
Elegiremos el área de trabajo, que por defecto es «Mi área de trabajo»:
Y el servicio de publicación de Power BI subirá los datos de los gráficos elegidos a la nube para su posterior consulta vía web. una vez subidos, pulsaremos en «Abrir pi.bix en Power BI»:
Y tendremos el dashboard accesible desde cualquier parte, vía web, con nuestros gráficos:
Si tenemos la licencia apropiada de Power BI, podremos compartir este dashboard con otros usuarios de la organización.
En caso de no disponer de licencia, podremos exportar los datos a fichero PDF y compartir éste. Para ello, desde el menú «Archivo», elegiremos «Exportar»:
Y elegiremos «Exportar a PDF»:
Generando un archivo PDF con cada gráfico de cada página de nuestro proyecto Power BI: