Power BIVandal-Lab

Mapa del Tiempo en Power BI

No me preguntéis por qué, pero el otro día al ver la predicción del tiempo en las noticias de la TV me pregunté ¿se podría hacer en Power BI? Pues lo vamos a demostrar en este post.

Principales Retos

Los principales retos que podía anticipar eran:

  • Encontrar una fuente de datos de previsión meteorológica sencilla.
  • Mostrar iconos en vez de valores numéricos en un mapa.
  • Gestionar la navegación entre el mapa y los datos de detalle.
  • Darle un poco de humor con gifs animados. 😀

A continuación, explicaré como he ido resolviendo cada uno de ellos en esta prueba inicial.

Fuente de datos meteorológicos

La fuente que primero se me pasó por la cabeza fue la Agencia Española de Meteorología (AEMET), que dispone de una API de acceso abierto a través del link https://opendata.aemet.es/centrodedescargas/inicio.

Tras analizarlo detalladamente, disponía de muchos datos en AEMET, pero era una conexión algo más compleja de lo que quería para esta prueba inicial. Seguí investigando y encontre una API más sencilla que cubría mis necesidades en el link https://www.el-tiempo.net/api.

A través de las urls web que podéis ver en el link anterior, pude crear una conexión tipo WEB para importar a Power BI las siguientes entidades:

  • Predicción del día de las principales ciudades.
  • Texto de la predicción global nacional.
Conexión tipo WEB a la api de previsión del tiempo
Conexión tipo WEB a la api de previsión del tiempo

Adicionalmente creé una tabla manualmente a través de la opción “Especificar datos” con las coordenadas de las ciudades. He obtenido los datos de la web https://www.geodatos.net/coordenadas/espana.

Creación de Tabla de Coordenadas por Ciudades
Creación de Tabla de Coordenadas por Ciudades

Mapa con iconos

Tras varios intentos de usar los mapas estándares de Power BI para mostrar un camp tipo “url de imagen” tuve que descartar esa idea.

Como sabéis, los mapas suelen mostrar datos numéricos agregados y los sitúan en el mapa en base a coordenadas o nombres de ubicaciones reconocibles:

Mapa estándar de Power BI

Pero nosotros no necesitamos mostrar valores, queremos mostrar iconos como en los mapas del tiempo de la TV. Por eso tuve que recurrir a una visualización personalizada llamada “Icon Map“.

Para incluirlo en vuestro informe de Power BI, debéis pulsar en los 3 puntos de los iconos de las visuales y en la ventana emergente buscar por “Icon Map”:

Custom Visual Icon Map
Custom Visual Icon Map

Ahora que ya tenía el mapa de iconos, necesitaba los iconos del tiempo. Busqué varios iconos de gif animados de diferentes estados climatológicos y los subí a la web par usar las urls de las imágenes.

Tuve que crear una tabla manualmente a través de la opción “Especificar datos” con los iconos para poder usarlos en el informe.

Tabla manual de iconos
Tabla manual de iconos

Veréis que hay dos campos de icono. El primero es del icono del tiempo del mapa, y el segundo lo veremos en el apartado de los gifs animados 😀

Ahora que ya tenemos coordenadas, nombres de ciudades, predicción e iconos, ya podemos complementar los datos necesarios en el Icon Map:

Configuración campos ICON MAP
Configuración campos ICON MAP

El resultado queda bastante parecido a lo que podemos ver en la sección de meteorología de un telediario:

Mapa del Tiempo
Mapa del Tiempo

Aparte, los iconos tienen cierta animación lo que le aporta al mapa un toque más profesional.

Navegación del mapa al detalle

El tercer reto es que los iconos del mapa fuesen interactivos, es decir, que al clicar sobre ellos, pudiésemos ver el detalle de la previsión de esa ciudad.

Para conseguirlo usé los trucos de navegación avanzada que ya os mostramos en el tutorial de Navegación Avanzada.

Lo primero era replicar los datos que queremos mostrar, pero en una medida que nos permita: mostrar el valor si algún icono está marcado, o no mostrar nada si no hay seleccionada ninguna ciudad.

Para ello usamos la función DAX HASONEVALUE() dentro de un IF. Esto es, si sólo hay una ciudad filtrada, muestra el valor y si no es así no muestres nada. Como ejemplo, os dejo la medida DAX del nombre de la ciudad:

NombreCiudad = IF(HASONEVALUE(Predicciones[PROVINCIA]),MAX(Predicciones[PROVINCIA]),"")

Con esto conseguimos que al pulsar en un icono, filtramos la tabla de Predicciones por una ciudad y se muestran los datos de detalle:

Mapa del Tiempo en Power BI
Mapa del Tiempo en Power BI

Gif Animado para darle un toque de humor

Para aportar el toque final, busqué en Google los gifs animados que veis de la persona en la predicción de detalle. Es un gif diferente para cada tipo de predicción (frío, calor, lluvia) y guardo la url en la segunda columna de icono que veíamos antes en la tabla de iconos.

Para poner los gifs animados, uso una tabla con el campo de la url de la imagen. Ese campo debe ser tipo TEXTO. Recordad que tenéis que rellenar en ese campo la categoría de Datos a “Dirección URL de la imagen“:

Categoría de Datos URL de la Imagen
Categoría de Datos URL de la Imagen

Recordad que podréis descargar el fichero pbix original de este proyecto si os suscribís a la newsletter de nuestro blog.

Os dejo el informe accesible para jugar un poco con él:

Conclusiones

Como veis, todo es posible en Power BI. No os frenéis ante cualquier reto que se os presente y si necesitáis ayuda, no dudéis en preguntarnos o a cualquiera de la comunidad de usuarios de Power BI.

Esto ha sido sólo una prueba, pero si lo desarrolláis podéis hacer un mapa del tiempo mucho más trabajado y conectarlo con la fuente de la AEMET que aporta mucha más información.

¡Os reto a que lo intentéis y lo compartáis con nosotros!

¡SUSCRÍBETE YA!
Doy mi consentimiento para almacenar mis datos para envío de newsletters.
Si te suscribes a la newsletter tendrás acceso a los ficheros Power BI originales de nuestros tutoriales y post.

Además tendrás derecho a participar en sorteos periódicos que realizaremos en el blog.
We hate spam. Your email address will not be sold or shared with anyone else.
Mostrar más

Iván Arribas

Llevamos siglos generando, relacionando, modificando y almacenando datos....es hora de que les echemos un vistazo. Espero que este blog sirva de ayuda a los que quieran introducirse en este mundo de la Analítica de Datos, igual que me está sirviendo a mi.

Publicaciones relacionadas

3 comentarios

  1. Hola!! Incorporé en mi informe el mapa con la API que indicas pero ahora me está dando problemas… Estoy buscando algo similar pero no encuentro nada.

    ¿Puedes ayudarme por favor?

    Muchísimas gracias y felicidades por el contenido de la página, me resulta todo muy útil para mi trabajo.

    1. Hola Myriam,

      gracias por seguirnos y poner en práctica nuestros tutoriales. ¿Qué tipo de problema te está dando la API? ¿Te refieres a la API de AEMET? Si me das un poco más de información del error quizás podamos encontrar el problema.

      Un saludo,

      1. Hola Iván,
        Me refiero a la API que pusiste en el vídeo: https://www.el-tiempo.net/api/json/v2/home

        Estuve unos meses actualizando los datos correctamente, pero ahora me da error.

        Me da el siguiente error en el PBI:

        DataSource.Error: Los datos descargados son HTML, que no es el tipo esperado. Puede que la dirección URL sea errónea o que no haya proporcionado las credenciales correctas para el servidor.

        Estoy intentando descargar los datos directamente desde la AEMET pero no me aclaro.

        Muchas gracias y saludos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Iván Arribas Delgado.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Bluehost que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Botón volver arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad