Ciudades Inteligentes: Tutorial de Power BI sobre Open Data

Paloma Recuero de los Santos    24 abril, 2017
En este artículo, que publicaremos en dos post, hablaremos de Smart Cities y de cómo pueden utilizar sus datos para ser más “smart”. Trabajaremos con un dataset de ejemplo del London Data Store (sobre los servicios de los Bomberos) para aprender a utilizar Power BI Desktop como herramienta de análisis y visualización de datos. Y, por último, sacaremos conclusiones.

I. Antecedentes: Smart Cities y Open Data

Las ciudades ofrecen distintos servicios a los ciudadanos por lo cual necesitan recopilar y almacenar una gran cantidad de datos. Otros organismos y administraciones públicas, financiados por la ciudadanía, generan a su vez información geográfica, cartográfica, meteorológica, médica etc. Los partidarios de Open Data, la filosofía de Datos Abiertos, defienden que esta información debería ser accesible y reutilizable para el público en general, sin exigencia de permisos específicos. Consideran que restringir su acceso va contra el bien común, ya que se trata de información que pertenece a la sociedad, o ha sido financiada por ella.
Hace ya casi una década, en 2010, se celebró el primer Open Data Day al
que se sumaron 60 ciudades interesadas en poder usar esta información para ofrecer mejores servicios a los ciudadanos y ayudarles a resolver los distintos desafíos que se les planteaban.

Oportunidades de las Smart Cities
Figura 1: ¿Qué oportunidades nos ofrecen las Smart Cities?


¿Cuáles son esos desafíos?

Aunque cada ciudad tiene sus particularidades, muchos de ellos son compartidos entre distintas ciudades del mundo. Hablamos de desafíos tales como el continuo aumento de la población, debido al desplazamiento de personas desde las zonas rurales a las ciudades, los problemas de tráfico,
contaminación, encarecimiento de la vivienda, envejecimiento de las
infraestructuras y servicios al borde del colapso.

¿Cómo se enfrenta una Smart City a estos desafíos?

Cuando hablamos de Smart Cities, hablamos básicamente de infraestructura, conectividad, IoT, y, por supuesto, datos abiertos. Hablamos de tecnologías Big Data, machine learning y de extracción, transformación, normalización, procesamiento y exposición de datos, que nos permitirán sacar partido a toda esa información, detectar problemas, extraer patrones, analizar comportamientos, plantear hipótesis u optimizar modelos. En definitiva, usar los datos disponibles para optimizar los servicios ofrecidos a los ciudadanos.

Un ejemplo

Es muy interesante cuando el Open Data se gestiona a nivel local, ya que permite llevar a cabo iniciativas muy enfocadas a la problemática real de los ciudadanos. Por ejemplo, en muchas grandes ciudades, la escasez de plazas de aparcamiento supone un verdadero problema, mientras que a nivel regional, el número de plazas puede parecer adecuado. Las ciudades que facilitan información en tiempo real sobre la disponibilidad de estas plazas promueven el desarrollo de apps que dirigen a los conductores hacia éstas, reduciendo los tiempos perdidos en desplazamientos y a la vez los índices de contaminación. Otro ejemplo interesante son las apps basadas en los datos que ofrecen los ayuntamientos sobre contaminación y niveles de alérgenos para que las personas afectadas puedan tomar medidas que minimicen sus efectos.

Ejemplos de Apps de Google Play
Figura 1: Ejemplos de Apps de Google Play que miden los niveles de polen.
También se pueden combinar datos de distintas fuentes, datos procedentes
de administraciones públicas con otros ofrecidos por empresas privadas
(convenientemente tratados para eliminar de ellos la información confidencial de los clientes). LUCA colabora en iniciativas de Big Data for Social Good aportando un gran valor, al ofrecer a ONGs y gobiernos datos anonimizados sobre ubicación de terminales móviles que han demostrado ser de gran interés para generar insights sobre catástrofes naturales. Estos insights permiten enviar los recursos de ayuda de emergencia necesarios de forma más rápida y eficaz.

Por esta razón, muchas ciudades, no solo las grandes capitales, quieren convertirse en Smart Cities. Porque una ciudad conectada usa la información y la tecnología para ofrecer a sus ciudadanos una política de transparencia (basada en datos abiertos), unos servicios más eficientes (optimizando el uso de los recursos públicos y reduciendo así los costes) y un empoderamiento efectivo (permitiendo una mayor participación de éstos en la toma de decisiones que  afectan su día a día).

Siempre hay un “pero…”

Como siempre ocurre con los proyectos innovadores, no han faltado cantos de sirena y críticas sobre los riesgos de las Smart Cities. Algunos autores opinan que es un modelo impulsado por grandes empresas de ingeniería, tecnología y consultoría únicamente en beneficio de sus propios intereses y llegan al punto de pronosticar que serán la causa del “fin de la democracia”, como fue destacado en el articulo «The truth about smart cities: ‘In the end, they will destroy democracy«.

Efectivamente, en ocasiones se pone la tecnología por delante de las personas. Sólo se piensa en sensores y algoritmos, se confunden los medios con los fines y no se tiene en cuenta cuáles son realmente las necesidades o problemas de los usuarios. En estos casos el resultado nunca podrá ser positivo. William Edgers, en su estudio “Making Cities Smarter: How Citizens’ Collective Intelligence Can Guide Better Decision Making” nos sugiere cómo tener en cuenta la inteligencia colectiva ciudadana para ayudar a los IT decision-makes a construir una smart city de verdad, construida “desde abajo” y dirigida por los ciudadanos (“bottom-up or citizen led aproach”).

II. El problema

Londres fue una de las primeras ciudades europeas que apostó por una iniciativa Open Data, y, en Enero de 2010 puso en marcha el London Data Store donde se publicaron conjuntos de datos relativos a temas muy variados: economía y empleo, transporte, medio ambiente, seguridad, vivienda, salud etc. Este Data Store contiene más de 500 datasets y su web es visitada, cada mes, por 50.000 personas. En 2015 recibió el premio ODI Open Data Publisher Award por su labor pionera en la publicación de datos abiertos tanto a nivel local como regional.

Es un excelente ejemplo de Open Data mantenido a nivel local, que, como hemos dicho antes, puede ser muy útil para emprender iniciativas que preocupan a sus ciudadanos, aportan soluciones a problemas concretos, y se traducen en un uso innovador de la tecnología en beneficio de los habitantes de la ciudad.

En el siguiente post, vamos a trabajar sobre uno de los data sets posiblemente más “pintorescos” de los que ofrece el London Data Store. Recoge los servicios de rescate animal del Cuerpo de Bomberos de la ciudad (London Fire Brigade). El análisis de estos datos va a poner sobre la mesa un problema al que intentaremos proponer soluciones.
¿A qué desafío tuvieron que enfrentarse los bomberos de Londres?

Los datos

Vamos a pasar a explicar paso a paso cómo analizar los datos del London DataStore. Primero descargamos la tabla Excel correspondiente:

Pantalla de descarga de los datos de trabajo
Se trata de una tabla de 4751 registros, que recoge la información sobre las salidas de los bomberos para cubrir este tipo de servicios. Los campos principales son el número de incidente, la fecha y hora del aviso, las horas dedicadas, el coste del servicio, el tipo de animal implicado, una breve descripción del problema, origen del aviso, tipo de localización etc.

Aunque no es relevante para nuestro análisis, siempre que se descarga algún fichero o documento de la web, en este caso una tabla Excel, conviene comprobar su nivel de seguridad en cuanto a exposición de metadatos. Estos “datos sobre los datos” ocultos en los ficheros pueden ofrecer información sensible sobre nuestro entorno de trabajo sin que seamos conscientes de ello. Para ello, usamos la herramienta Metashield Analyzer.  En este caso, simplemente analizaremos el fichero (Step 1). Cuando seamos nosotros los que publiquemos información en un datastore, nos aseguraremos de no publicar información que nos podría perjudicar oculta en los metadatos usando Metashield Protector (Step 2).

Opciones pagina web Metashield Analyzer


El resultado del análisis nos muestra un nivel de riesgo bajo. La
información “expuesta” inadvertidamente es la relativa a la impresora y al creador del documento. No obstante, siempre conviene hacer la comprobación.

Vamos a trabajar con una herramienta que nos permite realizar análisis visuales de forma muy intuitiva y crear informes que pondrán de relieve los patrones que comportamiento de los datos. Se trata de la herramienta Power BI Desktop.

“Power BI es una colección de servicios de software, aplicaciones y conectores que funcionan conjuntamente para convertir orígenes de datos sin relación entre sí en información coherente, interactiva y atractiva visualmente. Un flujo de trabajo habitual de Power BI comienza en Power BI Desktop, donde se crea un informe. Luego, ese informe se publica en el servicio Power BI y después se comparte para que los usuarios de las aplicaciones de Power BI Mobile puedan usar la información. “

Power BI permite, por tanto crear informes visuales usando distintos orígenes de datos, desde una sencilla tabla Excel a una colección de almacenes de datos híbridos locales o basados en la nube, compartirlos, actualizar la información en tiempo real etc. Pero en este caso, no necesitamos complicarnos tanto. Tenemos una sencilla tabla de Excel, vamos a cargarla en la herramienta desktop y vamos a sacar unos informes que no necesitamos publicar en ningún servicio. Podemos trabajar sin ningún problema con la versión gratuita de la herramienta, para lo cual únicamente tendremos que registrarnos.

Nos descargamos la aplicación y la instalamos como cualquier otra aplicación Windows.

Pantalla inicial de instalación Power BI Desktop
Figura 7: Pantalla inicial de instalación de Power BI Desktop. Detecta automáticamente la arquitectura de tu S.O. y descarga la versión que corresponda (en este caso, X64).

Formateamos los Datos

En este ejemplo, vamos a trabajar con un archivo Excel. Si trabajáramos con archivos Excel en OneDrive, los informes y paneles en Power BI se actualizarían automáticamente al realizar cambios y guardar el trabajo.

Para que Power BI pueda importar los datos del libro, los datos deben tener formato de tabla. Es fácil. En Excel, puede resaltar un rango de celdas y, en la pestaña Insertar de la cinta de Excel, haga clic en Tabla.  También es importante asegurarse de que todas las columnas tengan un nombre adecuado para poder encontrar con mayor facilidad los datos que nos interesen al crear informes en Power BI.

Aunque muchos de estos aspectos se pueden modificar también una vez cargado el fichero, siempre suele ser más cómodo y rápido hacer esa depuración previa de los datos antes de cargarlos.

Creamos, pues un nuevo informe y elegimos la primera de las fuentes de datos disponibles: Excel.

Obtener datos > Archivos > Archivo Local, para buscar y seleccionar el archivo de Excel que desea.

Pantalla de selección
Figura 9: Pantalla de selección. Permite seleccionar qué hoja/hojas del libro Excel queremos cargar. Ofrece una visualización parcial de los datos y permite realizar ediciones.
Pantalla de selección de la fuente de datos
Figura 8: Pantalla de selección de la fuente de datos. Muestra todas los posibles “data source”.
Aparece una nueva ventana que nos permite elegir qué hoja de la tabla de datos nos interesa. Nos muestra una previsualización de la tabla y nos da la posibilidad, como indicamos antes, de editarla. En este caso, la cargamos directamente seleccionando el botón “Load”.
Como estas cosas nunca salen bien a la primera, nos aparece un bonito mensaje de error. Tenemos nada menos que 2853 errores. Podemos investigar su origen directamente desde aquí “View Errors”.
Mensaje de error
Figura 10: Mensaje de error que aparece en este ejemplo tras cargar los datos.
Parece que el formato de fecha de “Fin del Servicio” es el que da problemas. Ha puesto el mismo valor en todos los campos.
Campos incorrectos
Figura 11: En amarillo podemos ver los campos que no se han cargado correctamente.

Como es un dato que no nos aporta información relevante (los servicios tienen una duración de horas y no de días y teniendo de forma correcta la fecha de inicio del servicio este dato es redundante), podemos directamente eliminar la columna. Seleccionamos la columna completa y en el menú contextual elegimos la opción “Remove”.

Eliminación de columnas
Figura 12: Eliminamos una de las columnas.
Otra opción sería eliminar la columna y quedarnos sólo con el dato del año:

Transformación de datos
Figura 13: En lugar de eliminarla, transformamos el dato para
quedarnos con el año.
El formato del campo “DateTimeOfCall” tampoco parece el adecuado. En este caso, optamos por la opción “Change Type” del mismo menú, y lo convertimos en formato decimal.

Cambio de formato del campo
Figura 14: Cambio del formato del campo DateTimeOlCall a formato  fecha/hora
Al volver a cargar los datos, aunque se ha reducido el número de errores, sigue fallando el formato de uno de los campos. Ahora se trata del campo “IncidentNumber “. El formato que hay que aplicar en este caso es el formato “Texto”. “Close and Apply”.
Cambio de formato del campo Incident Number
Figura 15: Cambio del formato del campo Incident Number a formato texto.

Visualizamos los Datos con Power BI. Nociones básicas.

Una vez cargados los datos podemos empezar a generar informes. Vamos a ver primero unas nociones básicas de la herramienta y después generaremos nuestro panel de informes para este caso concreto.

La vista Informe tiene cinco áreas principales:

  1. La cinta de opciones, que muestra las tareas comunes asociadas con los informes y visualizaciones
  2. La vista Informe , o lienzo, donde se crean y se organizan las visualizaciones
  3. El área de pestaña Páginas situada a lo largo de la parte inferior, que permite seleccionar o agregar una página de informe
  4. El panel Visualizaciones , donde puede cambiar las visualizaciones, personalizar los colores o ejes, aplicar filtros, arrastrar campos, etc
  5. El panel de Campos, donde elementos de consulta y filtros se pueden arrastrar a la vista Informe, o bien al área Filtros del panel Visualizaciones. Al cargar los datos, es en esta zona donde podemos ver los distintos campos que se pueden seleccionar para elaborar los informes.
Para crear una visualización, basta con arrastrar un campo desde la lista Campos hasta la vista Informe. La visualización que aparece como predeterminada es la de tabla de datos.También podemos elegir primero el tipo de visualización que nos interesa y luego arrastrar los campos de datos sobre el marcador de posición generado en el lienzo.

Visualización marcador
Figura 16: Al elegir una visualización, aparece en el lienzo el marcador correspondiente.
Según vayamos arrastrando los datos, que dependerán del tipo de visualización seleccionado, los cambios se irán reflejando de forma automática, actualizando la visualización.

Selección y etiqueta
Figura 17: Seleccionamos de la lista los campos que queremos añadir y los arrastramos sobre el lienzo o sobre la etiqueta correspondiente bajo la ventana “Visualizations” (Axis, Legend etc.).
Por último, podemos cambiar el tamaño de la visualización en el lienzo, recolocarla, editarla, añadir etiquetas, modificar colores etc. Según pasamos el puntero sobre secciones de las visualizaciones, veremos información sobre herramientas que contiene detalles sobre ese segmento, como etiquetas y su valor total.
modificar visualización
Figura 18: Podemos modificar la visualización directamente desde el lienzo (con el menú de su propia ventana), o bien con las distintas herramientas que aparecen en los menús a la derecha de la pantalla, según pasamos el puntero sobre ella.
Volviendo a nuestro ejemplo, elegimos en primer lugar una visualización de tabla. Se crea el marcador de posición y, según vamos seleccionando qué campos de datos nos interesan (en amarillo), éstos se van agregando a la tabla.

Agregación de campos
Figura 19: Los campos seleccionados (en amarillo) aparecen bajo la columna “Values”. En esta visualización (tabla) se pueden agregar los campos seleccionándolos directamente de la lista. En otras visualizaciones, conviene arrastrar el campo bajo la columna cuya etiqueta sea la que nos interese (Legend, Shared Axis, Column values, values etc).
Al mismo tiempo, se van añadiendo filtros para cada uno de esos campos de datos:

Filtro por tipo de animal
Figura 20: En nuestro ejemplo, al agregar el campo “AnimalGroupParent”, automáticamente nos va a permitir filtrar por cada uno de los tipos de animales que aparecen en el grupo.
Ya tenemos una herramienta para trabajar sobre el dataset de los servicios especiales de los bomberos de Londres. Tenemos la «lupa» para analizar las pistas. La pregunta es ¿a qué conclusiones llegaremos? No te pierdas el próximo post: ¿Cuánto gastan los bomberos londinenses por salvar a gatitos indefensos? El Open Data responde

También puedes seguirnos en TwitterYouTube y LinkedIn

Deja una respuesta

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