#Flow – Email Sentiment Analysis on a #PowerBI dashboard, and Flow

Hello!

A few minutes ago, Gisela wrote a post where she shared how to create a Streaming Dataset in Power BI (link). This feature opens up a new way of using Power BI, and I thought that a good way is to integrate it with the Microsoft Flow.

So I created a Flow with the next steps

  1. The flow will start everytime when you receive a new email
  2. Using Cognitive Services Text Analytics API we will analyze the sentiment of the email subject
  3. The result of the analysis will be sent to a Power BI streaming dataset

Power BI

The first thing to do is create the Streaming Dataset definition in PowerBI. Let’s access the Streaming Analytics collection and add a new streaming dataset.

clipboard04

The type of the dataset will be API

Clipboard07.jpg

And we define the dataset fields. For this example we will use

  • time, DateTime
  • sentiment, Number
  • subject, String (optional)

clipboard02

This is a good time to copy in a notepad the dataset Schema, we will use it later in our Flow. Once created the streaming dataset, we can now create a dashboard view.

  • Create a new dashboard or select an existing one and select the option Add Title of RealTime Data type.
  • Select the streaming dataset that we created in the step above.
  • We define the values to be displayed in a line chart, for example:

clipboard05

And ready, we have created the visualization dashboard in Power BI. It is time to create our Flow.

Microsoft Flow

In Flow we will create a new flow from a blank template. The trigger that we will use for this flow will be the arrival of a new email. Select the option “Office 365 Outlook / / when a new email arrives”

clipboard07

We will see that we have the trigger already configured, verifying new emails received in the Inbox.

clipboard10

The next thing we will do is create a new action to analyze the feelings of the subject of the received email. Add a new action and search for “text analytics” until you find the action “Text Analytics / / Detect sentiment”.

clipboard12

In the configuration of this action, select the Subject of the email as the text to be analyzed.

clipboard15

The final step is to send the information to the Streaming dataset that we created in the previous section. To do this, we add a new action of the type “Power BI / / Add rows to the dataset to”clipboard17

In the action configuration, select the Workspace, the dataset that we have created and “RealTimeData” table. RealTimeData is a fake data table used to display the data in real time.

Also in this step, we configure the message to send with the Schema of the DataSet, replacing the values in the Schema that we have processed in the Flow.clipboard19

That’s it! We already have a running flow which analyses the “subject sentiment” on each received emails and it send this information to a dataset in Power BI.

clipboard21

Power BI Dashboard

In a future post, I’ll show you as is the dashboard in operation. After a couple of “heavy tests” I just realize that I have consumed all my free calls in the Cognitive Services Text Analytics.

I found this response in the execution of the Flow

Body

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

And apparently, another test quickly consumed my 5000 free calls to make per month … 😀

clipboard02

 

Greetings @ Toronto

El Bruno

References

Advertisements

#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