En este artículo sobre aspectos básicos de uso de Power BI vamos a ver cómo importar datos de distintas fuentes para su posterior uso en nuestros informes.
Este aspecto correspondería al primer paso que se debe realizar cuando nos proponemos hacer cualquier informe con Power BI, pero pese a ser algo tan esencial no está exento de ciertos detalles que debemos atender para que todo funcione correctamente.
Para la realización de esta serie de artículos (este es el primero de otros) se van a trabajar con datos públicos descargados tanto de la web de red eléctrica española como de la AEMET.
Para descargar los datos, he desarrollado un par de proyectos en python con la finalidad de obtener de la API los datos que me interesaban. Además los he compartido en GitHub por si alguien quiere disponer de esta información actualizada para el tutorial u otros usos. Podéis acceder a los repositorios en los enlaces siguientes:
Esto no va a ser necesario para seguir esta serie de artículos ya que se van a emplear estos mismos datos en distintos formatos que serán descargables de forma sencilla en las distintas secciones del artículo.
Además será necesario tener instalado Power BI desktop si se quiere seguir el ejemplo
Sin más comenzamos con el contenido y espero que os resulte útil.
Qué datos puedo importar en Power BI
Power BI es una herramienta muy versátil que permite acceder a múltiples fuentes de datos. Tanto de Microsoft como de servicios de terceros.
Tanto es así que solo es necesario pegar un vistazo al menú obtener datos, y haciendo clic en más tenemos la siguiente pantalla:
Como se puede ver el listado es extenso y posiblemente más de la mitad del mismo no nos suene ni a ti ni a mi. Es por esto, que voy a centrar este tutorial en tres fuentes de datos que creo que por su uso general van a resultar las más prácticas.
En caso de querer acceder a alguna distinta la mecánica será similar sumando las peculiaridades propias de la fuente correspondiente, nada que no se pueda resolver con alguna búsqueda adicional en internet.
Conectar MySQL a Power BI
Una de las formas más comunes en la que se puede disponer de datos útiles para el negocio es mediante base de datos de tipo SQL. Esto es así porque multitud de software está sustentado sobre estos sistemas para el almacenamiento de datos, desde webs hasta sistemas ERP.
Para este tipo de conexiones, aunque luego la forma de trabajar es similar, es muy importante conocer la tecnología en la que se basa (SQL,MySQL, PostgreSQL…) ya que los puntos de conexión son distintos y se debe seleccionar el correcto.
Para nuestro ejemplo vamos a explicar cómo conectar a una base de datos MySQL a Power BI simplemente por facilidad de acceso ya que es gratuita.
Uso de la herramienta obtener datos
Para acceder a la fuente de datos que se necesita haremos clic sobre el icono Obtener datos, del menú superior.
En nuestro caso, como MySQL no se encuentra en el desplegable de los orígenes de datos más comunes tendremos que dar al botón más
Tras esto, nos saldrá el menú de la imagen anterior en el que podremos tanto buscar la fuente de datos mediante el buscador como en el menú de la derecha. Además disponemos de agrupaciones por tipo de fuente para facilitar el filtrado.
Una vez encontrada la conexión a la fuente de datos MySQL hacemos clic en el botón conectar.
Conectar servidor MySQL a Power BI
Si estáis empleando un servidor MySQL como en este ejemplo y es la primera vez que hacéis la conexión, os pedirá que hagáis una instalación adicional. Este paso es trivial, simplemente seguid el enlace e instalad el software que indica.
Tras haber hecho clic en conectar deberíais ver una pantalla como la siguiente:
Lo que pide en este menú es la información mínima necesaria para realizar una conexión. Que sería la dirección del servidor y el nombre de la base de datos a la que se quiere conectar.
Para mi ejemplo, quedaría de la siguiente forma ya que estoy accediendo a un servidor local de mi ordenador y la base de datos va a ser a la correspondiente a los datos de AEMET:
Con esto sería suficiente para realizar una conexión, pero antes vemos que hay un desplegable en el que indica Opciones avanzadas.
Realmente este desplegable lo que nos permite (además de indicar el tiempo de espera máximo al servidor) es obtener los datos empleando consultas SQL.
Esto puede ser muy conveniente en caso de conocer la tabla a la que queremos acceder en bases de datos muy extensas ya que será más costoso buscarla en el el siguiente menú.
Además por un tema de rendimiento, puede ser conveniente importar estos datos mediante consulta, ya que en caso de tablas con muchas columnas (en las que no se necesiten todas) o que solo necesitemos un subconjunto de datos se puede diseñar la consulta para solo acceder a los datos necesarios. Esto reducirá el tiempo de descarga de datos, sobre todo si la tabla tiene muchos registros.
Indicar las credenciales de conexión a MySQL
La primera vez que queráis acceder a una fuente de datos de este tipo, os saldrá un menú como este antes de mostrar los datos:
Este menú puede resultar confuso la primera vez que interactuamos con él. La razón es que cuando se abre puede parecer que está pidiendo las credenciales de la base de datos, pero realmente están seleccionadas las credenciales de la cuenta de Windows. En esta pestaña por lo general dejando la opción marcada de base es suficiente.
Es por esto que hay que hacer clic en el letrero que indica Base de datos en el menú izquierdo, una vez seleccionada esa pestaña ya se pueden introducir los datos de usuario y contraseña de nuestra base de datos.
Seleccionar la tabla de datos
Si hemos hecho correctamente lo indicado en los pasos anteriores ya deberíamos poder visualizar todas las tablas contenidas en la base de datos en el siguiente menú:
Como se puede ver en la imagen, tenemos un desplegable que contiene todas las tablas disponibles en la base de datos. Además si clicamos sobre una de las tablas (no marcando el tic, clicando sobre el nombre) podemos ver una previsualización de la tabla. El clic verde que se ve es para seleccionar las tablas que se quieran importar.
En el caso de haber realizado una consulta a una tabla concreta aparecerá un ejemplo del resultado de dicha consulta como puede verse aquí:
Tras esto, si se está conforme con los datos, solo quedará dar a cargar. En caso de necesitar alguna transformación previa, se puede dar a Transformar datos, lo que nos llevará al menú de Power Query para poder realizar transformaciones sobre los datos originales (veremos aspectos básicos de la herramienta en otra entrada).
Datos disponibles en el modelo de Power BI
Una vez hecho esto dispondremos de las tablas seleccionadas dentro de nuestro modelo de Power BI. Además podremos modificar el nombre de la tabla dentro de esa columna para que nos resulte más sencillo trabajar con ella, simplemente haciendo doble clic o mediante el menú superior con la tabla seleccionada.
Importar archivos Excel a Power BI
Importar datos en Power BI empleando como fuente documentos Excel no es una de las prácticas más recomendables.
La razón es que es una fuente de datos en la que el usuario tiene un acceso muy directo a la actualización (no suele haber un formulario de entrada, ni validación de datos) por lo que es muy posible que o los datos no lleguen de la forma adecuada o que alguien modifique algo que rompa el modelo inicial.
Sin embargo, en ciertas circunstancias si puede ser un recurso útil, sobre todo en el caso de querer probar rápidamente una idea antes de plantearnos un sistema muy robusto.
Sin más, vamos a ver cómo realizar la carga de datos en este caso:
Excel, una fuente de datos sencilla
En este caso, la carga de datos será mucho más directa que en el caso anterior, para seguir el ejemplo podéis emplear el documento siguiente.
Simplemente deberemos seleccionar la fuente de datos correspondiente al libro Excel (tal como se ha explicado en el apartado anterior) y buscar el directorio donde se encuentra nuestro libro con los datos que se desean cargar.
Lo seleccionaremos y nos aparecerá el menú de la siguiente forma:
Como se puede ver en este caso lo que nos entrega la herramienta son las hojas en las que está compuesto nuestro libro, para que seleccionemos la que nos interese descargar (en nuestro libro solo disponemos de una hoja).
En este caso, si que recomendaría entrar antes a Power Query cada vez que se carguen los datos, la razón es que muy probablemente Power BI no será capaz de seleccionar automáticamente todos los tipos de datos y será necesario un trabajo previo de preparación.
De todos modos si se cargara y se viera que los no están del todo bien, es posible abrir Power Query en cualquier momento para resolver estos problemas.
Por supuesto este procedimiento se podrá realizar con distintos archivos que dispongamos en distintas rutas para poder componer nuestro modelo.
Cargar datos desde archivos .csv
Esta fuente de datos puede ser conveniente emplearla en ciertos casos, ya que es un formato muy común para compartir datasets debido a su sencillez y facilidad de importación para distintos usos.
Como en el caso anterior, para seguir el ejemplo os facilito el archivo .csv que voy a emplear, pero si queréis acceder a otro tipo de datos, o queréis probar a visualizar otros datos, un buen punto de partida podría ser la sección de datasets de kaggle.
Carga de datos similar a Excel
En este caso, la carga de datos será equivalente a lo explicado para un libro de Excel. La única diferencia será que en este caso no podremos seleccionar entre distintas hojas porque no dispone de esa característica este formato.
Mucho cuidado con las configuraciones regionales
En el ejemplo aportado, se puede ver que en la vista previa los precios de la luz no tienen mucho sentido.
Esto se debe a que al ser el delimitador una coma el sistema está suponiendo que el punto es un delimitador de miles (no una delimitación de coma flotante) por lo que el sistema automáticamente añade un paso para convertir el número a entero.
Esto es importante corregirlo antes de cargar los datos al modelo para mantener la coherencia de los datos y es un problema común en este tipo de archivos cuando se trabaja en Power BI.
Para esto, entraríamos a transformar datos y sustituiríamos el punto con la coma en un paso y luego convertir a tipo de dato en coma flotante (ya haré un post con los detalles).
Importar datos a Power BI tarea básica pero no trivial
Como se ha podido ver, traer datos de diversas fuentes a Power BI es una tarea indispensable para poder realizar cualquier paso posterior en la realización de modelos. Pero no por ello está exenta de ciertas peculiaridades que es necesario conocer para poder realizarla con éxito. Además cada fuente tiene sus diferencias, por lo que será necesario probar y analizar potenciales problemas que puedan surgir en esta tarea cuando se quiera tener un acceso distinto a los datos.
Sin más os invito a probar fuentes distintas a las definidas en este artículo con el fin que os podáis familiarizar con distintos enfoques, quizá podéis probar a importar datos de carpetas del sistema o de alguna página web.