Recientemente se publicó la versión preview de Data Explorer para Excel (La podéis descargar de aquí)
El producto llega a su versión previa al lanzamiento después de haber tenido dos versiones, el cliente de escritorio y el servicio en la nube, publicadas hace algo más de un año, y que ofrecían un servicio muy similar aunque con ligeras diferencias respecto a la conectividad y posibilidad de publicación de resultados.
Ahora, el producto ha evolucionado y mejorado, y se integra con Excel (tanto 2010 como 2013). Viene a llenar el hueco que quedaba entre los orígenes de datos y el modelo de datos en el paradigma de self-service BI que Microsoft propuso con la aparición de SQL Server 2012, con BISM y la posibilidad de escalar desde el análisis sobre el modelo de datos personal hasta un BI empresarial en un servidor de Analysis Services. Data Explorer viene a cubrir la funcionalidad de integración de datos en el sistema de self-service BI como PowerPivot cubre la funcionalidad de análisis.
El hecho de que se enmarque dentro de Excel es uno de los hechos más relevantes de esta preview, dando más importancia si cabe a Excel dentro del ecosistema de BI de Microsoft. En ella los analistas de negocio se sienten cómodos, tienen pericia y son capaces de desenvolverse con naturalidad, lo que reduce mucho la curva de aprendizaje de nuevas herramientas que estén enmarcadas en él. Además, nos permite combinar rápidamente los datos que descubramos e importemos con el resto de funcionalidades integradas en Excel para realizar análisis cómodos y rápidos sin tener que esperar a grandes desarrollos ETL y de sistemas analíticos, pero teniendo la posibilidad de que a partir de estos análisis iniciales surja todo un modelo de análisis empresarial. ¡Incluso podemos añadir directamente la información obtenida con Data Explorer a un modelo de datos en PowerPivot!
En este post vamos a ilustrar como combinar fuentes de información “no estándar” obtenidas con Data Explorer con Power View incluido en Excel 2013 para realizar un análisis rápido y vistoso en cuestión de minutos.
Supongamos que somos el responsable de marketing de una empresa y queremos saber qué se ha dicho recientemente en Twitter acerca de nuestra organización. Obviamente nos interesa qué se ha dicho, pero también es importante saber quién lo ha dicho y, entre otras cosas, desde dónde se ha dicho (o en su defecto, dónde ubica Twitter a los usuarios que lo han dicho). La geolocalización de la información es un activo cada vez más importante en la inteligencia de negocio, especialmente con la facilidad con la que podemos integrarla con Power View.
Para ello, habiendo descargado e instalado Data Explorer para Excel 2013, abrimos un libro de Excel en blanco, y hacemos clic en la nueva pestaña “DATA EXPLORER”. Una vez nos aparezca la cinta de opciones, donde podemos elegir todas las fuentes de datos disponibles, seleccionaremos “From Web”. Como vamos a leer datos desde Twitter, debemos saber el formato en el que debemos preguntar a Twitter. En nuestro caso realizaremos la consulta para obtener tweets sobre SolidQ. La URL desde la que obtener la información quedaría parecida a ésta: https://search.twitter.com/search.json?q=SolidQ&rpp=50. Podéis encontrar información sobre los parámetros de búsqueda del API de Twitter aquí.
Twitter nos devuelve un bloque de datos en formato JSON, pero Data Explorer está esperando un documento HTML. Por tanto, cuando intentemos importar la información, nos dará el siguiente error:
Lo que vemos es que DataExplorer nos está dando una tabla y un documento en HTML con un error (espera HTML y recibe JSON). Un pequeño truco para saltarnos esta situación es usar el lenguaje de fórmulas de Data Explorer, que tiene soporte para interpretar datos estructurados (tanto en JSON como en XML). Si modificamos la fórmula por ésta, añadiendo Json.Document en vez de Web.Page para especificarle que lo que va a recibir son datos en JSON:
Tenemos información estructurada sobre la respuesta de Twitter a nuestra consulta. Los tweets que nos interesan se encuentran en la lista de elementos contenida
dentro del campo “results”. Clicamos en el enlace (en verde claro en la captura) para realizar automáticamente un drill down y veremos el detalle de la lista.
Ahora queremos convertir estos resultados de información estructurada en una tabla, que es con lo que trabajaremos en Excel.
Si hacemos botón derecho sobre la cabecera de la columna y seleccionamos To Table:
Una vez lo hemos convertido a tabla, seleccionaremos un delimitador (si lo hubiese, en este caso son datos ya estructurados y no será necesario)
y podremos elegir qué columnas queremos expandir haciendo clic sobre el icono en la esquina superior derecha.
Nosotros vamos a escoger los siguientes
- from_user: El nombre del usuario en Twitter
- from_user_id_str: Su identificador interno en Twitter en formato de cadena de caracteres
- profile_image_url_https: Las fotos siempre quedan bonitas 🙂 . Obteniendo la URL donde localizamos la foto del usuario podremos ver la imagen en Excel gracias a su interacción con Bing
- text: El tweet en sí
Ahora renombramos las columnas solo para tener más claro que significa cada una (y poder identificarlas fácilmente en el análisis posterior). Sólo con cambiar el nombre de la columna, como si fuese una columna más de Excel, Data Explorer aplicará la operación correspondiente en su lenguaje de fórmulas. Si nos fijamos en la parte derecha de la pantalla, en la sección Steps, vamos a poder ir viendo cada uno de los pasos que hemos realizado para llegar hasta el punto actual, y lo que es mejor, al cambiar o actualizar la información en un paso intermedio (cambiar el parámetro de consulta a Twitter, por ejemplo), ¡la información se actualiza en cascada en todos los pasos posteriores de manera automática!
Twitter ofrece funcionalidad para localizar desde donde se está twitteando. Tiene sentido sobre todo al usar los servicios GPS de los dispositivos móviles, y más aún si la localización tiene relación con lo que se está publicando. Pero no todo el mundo usa esta opción, y por ello vamos a usar de nuevo el API de Twitter para obtener la localización que los usuarios definen cuando registran su cuenta a través del ID de usuario (campo UserID) que previamente habíamos obtenido. En este caso la fórmula que usaremos será muy parecida a la anterior, pero concatenando el valor del campo UserID para construir la consulta, y conseguiremos llegar a la localización añadiendo una columna personalizada y seleccionando el campo de los datos estructurados en JSON directamente.
Primero tendremos que transformar la columna UserID en una de datos tipo texto, ya que es de tipo de datos numérico y no nos dejará usarla para ser concatenada a la fórmula.
Pulsando con el botón derecho sobre la última columna, seleccionamos Insert Column – Custom:
Lo cual nos permitirá añadir la expresión en lenguaje de fórmulas de Data Explorer de una manera muy parecida a la que usamos para conseguir los tweets:
Conseguiremos acceder directamente a la localización del usuario con la selección del campo “[location]”. Si obtuviésemos una lista de resultados y tuviesemos que elegir un elemento antes de seleccionar el campo que queremos obtener, tendríamos que usar los operadores {}. Por tanto, quedaría tal que Funcion(…){N elemento}[campo].
Puede que veamos un error de este tipo al intentar conseguir datos externos:
Para evitarlo, activamos la opción “Fast Combine” de Data Explorer para poder usar datos de otras fuentes de datos sin recibir este error que nos avisa de que no podemos usar fuentes de datos de diferentes orígenes, en lo que parece una restricción interna de Data Explorer para evitar incongruencias al mezclar datos desde fuentes externas diversas.
Ya tenemos añadida la localización de cada uno de los usuarios que han publicado tweets sobre SolidQ. La mayoría serán localizaciones válidas, pero otras no lo serán. Aquí entraría en juego la combinación de Data Explorer o incluso Excel con servicios externos de validación y calidad de datos, pero es un tema que requeriría un post adicional, o incluso varios
Renombramos la columna que hemos obtenido como Location y clicamos en Done para volver a nuestra hoja de Excel.
Ahora que ya tenemos los datos con su localización y las fotos de los usuarios de Twitter podemos hacer rápidamente un informe con Power View que nos muestre dónde han sucedido estos tweets (o por lo menos donde se localiza al usuario que los publicó).
En un par de clics podríamos tener algo así:
O aprovecharnos de la funcionalidad de PowerPivot para mostrar imágenes en los informes de Power View, marcar el campo PictureURL como de tipo “imageURL” en las opciones avanzadas de PowerPivot y poder ver el avatar de quién escribió qué y desde dónde:
Habrá que esperar a la versión final de Data Explorer para poder medir todo su potencia y facilidad de uso pero hemos visto que ya en la preview podemos obtener datos desde fuentes externas (el API de Twitter, en este caso) de manera relativamente sencilla y toda la potencia de análisis que nos brinda el hecho de que esté integrado dentro de Excel.
Os animo desde aquí a que descarguéis Data Explorer para empezar a investigar cómo importar datos y cómo combinarlos.
Espero que os haya gustado, en próximos posts y artículos seguiremos hablando de Data Explorer y las funcionalidades que ofrece para integración y modelado de datos. Feliz análisis 🙂