#Flow – Analizar el “sentimiento” de un email y visualizarlo con #PowerBI

Hola !

Hace unas horas, Gisela escribía un post donde comentaba como crear un Streaming Dataset en PowerBI (link). Esta funcionalidad abre una nueva forma de utilizar PowerBI, y yo he pensado que una buena forma es integrarlo con Microsoft Flow.

En este ejemplo de Flow realizaremos los siguientes pasos

  1. El flujo se disparará cuando se reciba un nuevo email
  2. Se procesará el Subject del mismo con Cognitive Services Text Analytics API
  3. Se enviará el resultado del análisis a un Streaming dataset en PowerBI

Power BI

Lo primero que debo hacer es crear la definición de un Streaming Dataset en PowerBI. Accedemos a la colección de Streaming Analytics y agregamos un nuevo streaming dataset.

clipboard04

El tipo del dataset será API

Clipboard07.jpg

Y definimos los campos del mismo. Para este ejemplo utilizaremos

  • time, tipo DateTime
  • sentiment, tipo Number
  • subject, tipo String (opcional)

clipboard02

Este es un buen momento para copiar el Schema que luego utilizaremos en nuestro Flow. Una vez creado el streaming dataset, ya podemos crear un dashboard donde visualizar el mismo.

  • Creamos un nuevo dashboard o seleccionamos uno existente y seleccionamos la opción Add Title  de tipo RealTime Data.
  • Seleccionamos el streaming dataset que creamos en el paso anterior.
  • Definimos los valores a mostrar en un gráfico de líneas, por ejemplo:

clipboard05

Y listo, ya tenemos creado el entorno de visualización en Power BI. Es momento de crear nuestro Flow.

Microsoft Flow

Una vez que hemos accedido a Flow, crearemos un nuevo flow desde un template en blanco. El trigger que utilizaremos para este flow será la llegada de un nuevo email. seleccionamos la opción “Office 365 Outlook // when a new email arrives”

clipboard07

Veremos que tenemos el trigger ya configurado, verificando los nuevos emails que se reciban en el Inbox.

clipboard10

Lo siguiente que haremos es crear una nueva acción para analizar el sentimiento del subject del email recibido. Agregamos una nueva acción y buscamos por “text analytics” hasta encontrar la acción “Text Analytics // Detect sentiment”.

clipboard12

En la configuración de esta acción, seleccionamos el Subject del email para el texto a analizar.

clipboard15

El paso final es enviar toda la información al Streaming dataset que creamos en la sección anterior. Para esto agregamos una nueva acción del tipo “Power BI // Add rows to a dataset”clipboard17

En la configuración de mismo, seleccionamos el Workspace, el dataset que hemos creado y la tabla “RealTimeData” que es una tabla fake que se utilizar para mostrar los datos en tiempo real.

Además en este paso configuramos el mensaje a enviar con el Schema del dataset, reemplazando los valores del Schema por los que hemos procesado en el Flow.clipboard19

Y listo ! Ya tenemos un flow en funcionamiento analizando el “sentiment” de los subject de los emails que recibimos y enviando esta información a un dataset en Power BI.

clipboard21

Power BI Dashboard

En un próximo post mostraré como queda el dashboard en funcionamiento. Después de un par de pruebas “pesadas” me acabo de dar cuenta de que he consumido las llamadas en modo Free que vienen para probar Coginitive Services Text Analytics.

Me he encontrado con este response en la ejecución del Flow

Body

{ “statusCode”: 401, “message”: “Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.” }

Y al parecer, otra prueba en paralelo ha consumido en poco tiempo las 5000 llamadas que podemos hacer al mes … 😀

clipboard02

 

Saludos @ Toronto

El Bruno

References

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s