Muchas veces, sobre todo si tenemos un perfil más técnico, nos olvidamos de la importancia que tiene que el producto se venda bien. Pero, ¿cómo hacer que nuestros datos queden más vistosos mediante el uso de gráficas diferenciativas?
Una vez tenemos preparados todos nuestros datos (como vimos en la primera parte de este post), podemos seguir los siguientes pasos para conectar nuestras tablas de BigQuery con Power BI y así conseguir que unos datos a priori no muy vistosos, pasen a ser datos que hablen por sí mismos.
La conexión entre BigQuery y Power BI se puede realizar de dos maneras diferentes desde Power BI: con Import o con Direct Query.
El método Import extrae directamente los datos de la base de datos a Power BI.
Sin embargo, Direct Query deja los datos en BigQuery y realiza las consultas necesarias para obtener la información al vuelo.
Además de estas diferencias básicas, hay que tener en cuenta los siguientes puntos:
Con respecto a Import:
- Permite todas las transformaciones y manipulación de datos de la versión Desktop.
- Existe un límite de 1GB de datos si se quiere publicar en el servicio de PBI.
- Consume y guarda datos en el Power BI Azure backend (Azure DB/Blob Storage).
- Solo se pueden refrescar los datos hasta ocho veces al día configurando un refresco automático.
Con respecto a Direct Query:
- Limita los tipos de manipulación de datos que se pueden hacer en la versión Desktop (elimina la -sección de datos).
- Deja los datos en la bbdd.
- Los datos están “vivos”, no hace falta configurar un refresco automático.
- Cada vez que pulsamos un botón o un filtro, estamos realizando una query que se nos va a cobrar y que va a tener un delay, dependiendo de la magnitud de los datos. De ahí la importancia de preparar los datos correctamente con el fin de minimizar tiempos y costes.
Podéis profundizar más sobre este punto en el post de 5 tips en Power BI, sencillos y muy útiles de aplicar.
Power BI viene con gran cantidad de gráficos para los paneles por defecto. A continuación vamos a ver 4 gráficos que se pueden implementar de manera sencilla, haciendo que nuestros dashboards sean más atractivos.
En este caso usaremos un dataset creado a partir de varios dataset públicos de Bigquery. Con ellos, hemos construido una serie de tablas con los infectados de COVID-19 a nivel internacional, usando las transformaciones que vimos en el post anterior y un dataset del CDC.
De esta forma, hemos conseguido los datos sobre la distribución del COVID-19 dividida entre grupos de edad y sexo en la comunidad de Castilla y León (todos los datos hablan sobre afectados a fecha del 1 de Mayo).
También podemos generar un gráfico de barras apiladas. En este caso, los datos para el eje X son “número de enfermos”, para el eje Y los “grupos de edad”, y la leyenda diferencia entre las provincias de Castilla y León.
Además, podemos generar un gráfico de columnas apiladas utilizando los mismos datos. De esta forma podemos apreciar los datos de forma más visual.
Además, se puede observar que están ordenados de mayor a menor cantidad de afectados. La configuración de los gráficos se puede cambiar y ordenarlos alfabéticamente, o de mayor a menor, si consideramos que visualmente es más interesante. En este ejemplo podemos ver que, al agrupar los datos aportados por las diferentes provincias, el mayor número de afectados se encuentra entre los 40-60 años en todas ellas.
Además de los típicos gráficos de barras y columnas, Power BI tiene gráficos que permiten profundizar más en los análisis, como por ejemplo el gráfico de cascada:
Este gráfico es un ejemplo claro de que es necesario preparar los datos y elegir correctamente cómo vamos a enseñarlos. En este caso, se muestra una evolución mensual del número de afectados por mes en el mundo (datos del día 1 de Mayo). Esta configuración muestra poca información más allá de cómo varía la cantidad de afectados mes a mes, hasta alcanzar un total de 3,5 millones de afectados.
Power BI permite configurar un desglose por categorías para este gráfico y poder hilar un poco más fino en los datos. El campo “Desglose” permite añadir la columna que queramos ver en detalle. A continuación vamos a ver un ejemplo de la misma gráfica, añadiendo el desglose por país y bajando a nivel de mes.
Lo que podemos observar en la gráfica es:
- La zona azul, que indica el total de afectados de cada mes
- Los países que más participan en la tendencia de forma ordenada mes a mes, en verde aumentando el número de afectados y en rojo disminuyéndolo.
- Un dato destacable gracias a este gráfico sería que, del mes de Febrero al mes de Marzo, España fue el segundo país que más creció en número de infectados. Sin embargo, también observamos que ha sido el país que más ha descendido de Abril a Mayo (un 94% con respecto al mes anterior) junto con Francia.
Para conseguir el gráfico anterior, la configuración ha sido la siguiente:
Otro gráfico interesante y resultón que viene por defecto es el mapa:
Este tipo de gráfico muestra puntos de diferentes tamaños y colores en base a la latitud y longitud de la zona geográfica (o código de país ISO 3166-1). Utilizando los datos de infectados por COVID-19 podemos ver que EEUU es el nuevo epicentro de la pandemia.
La tabla que hemos generado para poder usar este gráfico tiene que contener cuatro columnas aplicando la latitud y longitud, o tres si utilizamos el código de país. En algunos casos los datos no vienen con latitud y longitud o código. Para los casos en que no tengamos el código del país podemos utilizar los datasets públicos de Google, que nos permiten traducir el nombre del país a su latitud y longitud y generar la tabla correctamente.
Además de los gráficos por defecto, Power BI permite la descarga de gráficos y visualizaciones de su marketplace, e incluso poder añadirlas desde un archivo externo.
Para la descarga desde el marketplace es necesario contar con una cuenta de Microsoft, ya que tendremos que logearnos para acceder al Marketplace.
Una vez se inicia sesión, ya se puede acceder al Marketplace donde podremos encontrar infinidad de gráficos especiales. Es importante saber que la mayoría de ellos necesitan que los datos estén estructurados de una manera determinada. En este ejemplo de gráfico personalizado vamos a utilizar el Sankey, un gráfico que nos permite observar flujos entre diferentes estructuras.
Para ello buscaremos el gráfico en el marketplace.
Pulsamos en agregar y se nos incluirá al final de los gráficos disponibles:
Una vez añadido al panel, podemos comenzar a configurar el gráfico. Para este caso conviene generar una tabla específica, ya que se trata de un gráfico para visualizar flujos y el grosor de las líneas es proporcional a la cantidad de flujo.
Lo ideal es tener un origen, un destino y un campo que defina el grosor. En el caso que estamos visualizando hemos generado 3 tablas para generar 3 diagramas diferentes: de provincia a grupo de edad, de grupo de edad a sexo y de sexo a provincia de nuevo. El grosor va a estar siempre determinado por la cantidad de infectados.
Una vez configurado el diagrama, podemos generar relaciones en la tablas para que, si se pulsa en un dato, recalcule el resto de los diagramas. Hemos establecido las relaciones entre provincia y sexo para las tablas 1 y 2, y provincia y grupo de edad para la 2 y la 3.
De esta forma conseguimos que, si hacemos click en la línea de grupo de edad de 40-49 años de Valladolid, los gráficos de la derecha sean redibujados de la siguiente manera, destacando solamente los datos asociados a este grupo:
Este gráfico sería perfecto para ver cómo viaja el dinero entre diferentes infraestructuras y presentar de una manera vistosa los diferentes flujos.
Este es uno de los muchos ejemplos de gráficos que se pueden descargar del Marketplace y enriquecen los análisis que se puedan hacer dentro de Power BI, destacando nuestro dashboard del resto.
Power BI también proporciona las opciones necesarias para generar visualizaciones personalizadas usando python o R. Para poder usar estas opciones, es necesario tener instalado python o R dentro del propio ordenador. Como no tratamos de hacer una guía exhaustiva, dejamos el enlace a las instrucciones de Microsoft acerca de cómo tenerlo todo preparado.
Los scripts, tanto de python como de R, se pueden utilizar en el editor de consultas. Así podemos limpiar datos o realizar análisis que no permite por defecto Power BI, como predicciones o agrupaciones en clústeres, y también para generar objetos visuales.
El editor de consulta no deja de estar formado por scripts de python con las librerías de tratamiento de datos disponibles para el lenguaje, como, por ejemplo, pandas. Un uso común es utilizar pandas para rellenar los valores que faltan en las tablas o csv, tal y como indica Microsoft en la página de Power BI.
Es igual de sencillo crear objetos visuales con python, pero en ese caso es necesario utilizar librerías de visualización como matplotlib o similar.
Conectar Power BI con Bigquery nos permite montar un sistema de explotación rápidamente y de forma muy sencilla. Además, podemos aprovechar el poder de procesamiento del Datawarehouse de GCP y la herramienta de BI de Microsoft. Dos cosas que en principio parecen imposibles de mezclar, pero que usándolos de forma inteligente, nos permiten obtener muy buenos resultados de forma rápida.
Tell us what you think.