¿Cómo explotar datos de Twitter con los Dashboards?

Introducción

En esta entrada vamos a explotar datos almacenados en Entidades de Plataforma recibidos desde Twitter con los Dashboards.

En este artículo partimos de que los datos ya están almacenados en Plataforma, conforme se describió en este artículo:

¿Cómo trabajar con Twitter desde el FlowEngine?

Análisis de los Datos

Con los datos de twitter ya obtenidos directamente desde el API de Twitter y almacenados en la entidad TweetsFromFlowEngine de plataforma, vas a proceder a una explotación de los mismos.

Como ya se mostro en el artículo anterior, vas a usar la herramienta Query Tool en TOOLS>Query Tool con la que podrás lanzar diferentes queries sobre los datos.

Puedes usar tanto el lenguaje SQL como el nativo (en este caso el lenguaje de consulta de MongoDB). En este tutorial usarás el lenguaje SQL que es el lenguaje estándar de consulta que proporciona plataforma.

Vas a ir lanzando queries sobre los datos que tienes para poder tener una base sobre la que construir tu dashboard analítico.

Si no cambias la query que se genera, verás que la query por defecto recupera tres registros de la entidad.

SELECT * FROM TweetsFromFlowEngine AS c LIMIT 3

Con la siguiente query, obtendrás el número total de registros cargados en la entidad.

SELECT count(*) FROM TweetsFromFlowEngine AS c

Usando el campo lang, puedes agrupar tus datos y obtener el número de tweets por idioma.

SELECT lang, count(*) as cc FROM TweetsFromFlowEngine AS c group by lang

Una query similar pero más interesante, sería ordenar esos idiomas por número de ocurrencias decendiente, con lo que obtendrás un ranking por idioma.

SELECT lang, count(*) as cc FROM TweetsFromFlowEngine AS c group by lang order by cc desc

En este caso, habrás usado la visualización por tabla que te facilitará la compresión de los datos planos usando el botón a la derecha de la pantalla.

Otro campo interesante es la localización. Puedes obtener los tweets por este campo.

SELECT location.place, count(*) as conteoporlugar FROM TweetsFromFlowEngine AS c group by location.place order by conteoporlugar desc

Verás que existen muchos datos no categorizados. Esto es porque son datos sin localización. Además, si te fijas, verás que el campo tweet.geo siempre es nulo. Esto es debido a que la mayoría de los usuarios desactivan esta localización y no llega la información. Puedes modificar la query anterior para evitar los datos nulos.

SELECT location.place, count(*) as conteoporlugar FROM TweetsFromFlowEngine AS c group by location.place where location.place is not null order by conteoporlugar desc

Construcción del Dashboard

Ahora vas a usar unas queries similares a las anteriores para montar un dashboard analítico sobre los datos de twitter.

Lo primero será generar un dashboard nuevo. Para ello, ve al menú:

Y entra en Mis Dashboards. Dentro, verás los dashboards de tu usuario y podrás crear uno nuevo con el botón “+”.

Al darle clic, nos aparecerá el formulario de creación del dashboard, así como diferentes configuraciones. En este punto, dale un nombre a tu dashboard, incluye una descripción y marca el estilo Default Style from 2.2… Finalmente dale al botón “Crear”.

Dentro podrás ver el lienzo sobre el que podrás ir colocando los gadgets:

Para añadir tu primer gadget, haz clic en el botón “+” lo que hará que aparezca el panel en el que podrás arrastrar elementos.

El primer gadget que vas a crear será una tabla con los diferentes tweets. Para ello, arrastra el icono Table sobre el lienzo y suéltalo. Esto que hará que salga un popup para que indiques qué quieres hacer.

Haz clic en New Gadget ya que quieres crear uno nuevo.

Dale un nombre a tu gadget tabla, y selecciona la entidad de TweetsFromFlowEngine.

Ahora puedes introducir la query de acceso. En este caso, deja la que viene por defecto.

Dale a continue y selecciona los campos: Tweet.id_str, Tweet.user.name, Tweet.user.location, Tweet.text

Verás una previsualización del gadget y podrás darle a create para generarlo.

Ahora vas a generar un gráfico de barra para poder ver cuántos Tweets hay por idioma. Arrastra en este caso el Icono de “Bar Chart” y dale a New Gadget. En este caso usarás la query:

SELECT lang, count(*) as cc FROM TweetsFromFlowEngine AS c group by lang order by cc desc

Dale a continue y desmarca “Sort” ya que este campo ordenaría la visualización por el eje X, que no es lo que quieres.

Y deja el eje Y sin un máximo para que se recalcule automáticamente.

 

Después usa con ejeX lang y como ejeY cc. Puedes darle algún estilo adicional si lo ves necesario.

Dale a Create y ya tienes tu gadget creado.

Ahora vas a crear un gadget de tipo tarta con información sobre la localización. La query será la siguiente:

SELECT location.place, count(*) as conteoporlugar FROM TweetsFromFlowEngine AS c where location.place is not null group by location.place order by conteoporlugar desc

Usarás como ejes place (lugar) y conteoporlugar.

 

Ahora vas a conectar los gadgets, de modo que puedas filtrar por lang desde el gadget de barras. Para ello, usa el botón de datalink.

Selecciona como origen el gadget tabla y el campo lang, como destino ambos gadgets y el campo lang. En este caso, tendrás que escribir explicitamente lang en el destino, al ser un campo que la query no trae.

Con las dos conexiones añadidas, tendrás algo así:

Dale a Close y podrás comprobar que, pulsando las barras del primer gadget, puedes filtrar los otros dos:

Éste es un buen momento para darle a guardar el dashboard y evitar perder el trabajo realizado con el botón:

Finalmente, usando diferentes opciones del dashboard, puedes estilizar el mismo para tener una presentación más vistosa: