Build real time Twitter dashboard using Azure LogicApps + Power BI

KarthiKeyan Shanmugam
7 min readJan 10, 2018

--

In this post,we are going to look how to build a real-time PowerBi dashboard using any of trending Twitter hashtags (ex.#Rajinikanth hashtag) here we are going to analyse social media sentiment post Rajini’s political debut, by analysing twitter hastags :) hope you would like it!

Before looking at the steps,here’s summary of what you’ll need.

  • Azure account
  • Power BI account (you can create it here)
  • Cognitive services account (you can create it here)

Step #1 : Create new logic app to listen to twitter hashtags :

Logic Apps provide a way to simplify and implement scalable integrations and workflows in the cloud. It provides a visual designer to model and automate your process as a series of steps known as a workflow. There are many connectors across the cloud and on-premises to quickly integrate across services and protocols. A logic app begins with a trigger and after firing can begin many combinations of actions, conversions, and condition logic.

Logic Apps is a fully managed iPaaS (integration Platform as a Service) allowing developers not to have to worry about building hosting, scalability, availability and management. Logic Apps will scale up automatically to meet demand.

Logic Apps Example
Image — Logic Apps Example

Logic Apps brings speed and scalability into the enterprise integration space. The ease of use of the designer, variety of available triggers and actions, and powerful management tools make centralizing your APIs simpler than ever. As businesses move towards digitalization, Logic Apps allows you to connect legacy and cutting-edge systems together.

Once you login to Azure portal,create a new Logic app like the below :

Launch Azure Logic App
Image — Launch Azure Logic App
Azure Logic Apps
Image — Azure Logic App

Create your logic app with the settings like the one below:

Azure Logic App settings
Image — Azure Logic App settings

When you’re ready, select Pin to dashboard. That way, your logic app automatically appears on your Azure dashboard and opens after deployment. Choose Create.

After Azure deploys your logic app, the Logic Apps Designer opens and shows a page with an introduction video. Under the video, you can find templates for common logic app patterns. We are going to choose ‘When a new tweet is posted’ trigger.

Products from Amazon.in

Social Humour: Adult Card Game, an Unofficial Indian Version of Cards Against Humanity, White Colour
Twitterature: The World's Greatest Books Retold Through Twitter
Hatching Twitter
Decor Kafe 'Adorable Twitter Couple' Wall Sticker (Vinyl, 50.8 cm x 40.64 cm x 2.54 cm)
Social Media: 2017 Marketing Tools for Facebook, Twitter, Linkedin, Youtube, Instagram & Beyond
Twitter and Tear Gas – The Power and Fragility of Networked Protest
Building Cloud Apps with Microsoft Azure: Best Practices for DevOps, Data Storage, High Availability, and More (Developer Reference)
Microsoft Azure Essentials Azure Automation
Azure IoT Development Cookbook
Architecting Microsoft Azure Solutions

‹ ›

Every logic app workflow starts with a trigger. The trigger fires when a specific event happens or when new data meets the condition that you set. Each time the trigger fires, the Logic Apps engine creates a logic app instance that starts and runs your workflow.

Azure Logic App twitter trigger
Image — Azure Logic App twitter trigger
Connect your twitter account
Image — Connect your twitter account
Set Twitter Search Text,Interval & Frequency
Image — Set Twitter Search Text,Interval & Frequency

Now that you have a trigger, add an action that invokes cognitive services to detect the sentiment when a new item appears in the twitter feed. Your workflow performs this action after the trigger fires.

Add action
Image — Add action
Choose action as 'Text Analytics'

Image — Choose action as ‘Text Analytics’

Choose 'Detect Sentiment' among the actions

Image — Choose ‘Detect Sentiment’ among the actions

Step #2 : Create Cognitive Services (API keys for text analytics)

Text Analytics API is a cloud-based service that provides advanced natural language processing over raw text, and includes three main functions: sentiment analysis, key phrase extraction, and language detection.

Sentiment Analysis API returns a sentiment score between 0 and 1 for each document, where 1 is the most positive.Azure models are pretrained using an extensive body of text and natural language technologies from Microsoft. For selected languages, the API can analyze and score any raw text that you provide, directly returning results to the calling application.

What we are going to do is submit data for analysis and handle outputs in our code. Analyzers are consumed as-is, with no additional configuration or customization.We would need to get API key,this key must be passed on each request.

Image — Microsoft Cognitive services

Once you sign up,you would receive API key and REST endpoint.Enter the same,in ‘Detect Sentiment’ step of Logic app.

Enter API Key & REST endpoint
Image — Enter API Key & REST endpoint

Once you click on ‘Create’ button.Choose ‘Tweet Text’ to detect sentiment.

Choose Tweet Text to detect sentiment
Image — Choose Tweet Text to detect sentiment

Step #3 : Create Power BI streaming data set

With Power BI real-time streaming, you can stream data and update dashboards in real-time. Any visual or dashboard that can be created in Power BI can also be created to display and update real-time data and visuals. The devices and sources of streaming data can be factory sensors, social media sources, service usage metrics, and anything else from which time-sensitive data can be collected or transmitted.

Login to PowerBI and create Streaming dataset (At the top right you can press the plus button to create a new streaming data set.)

Power BI Streaming dataset
Image — Power BI Streaming dataset
Choose API streaming dataset
Image — Choose API as Source of Data for your streaming dataset

Here we would define our streaming dataset, you can define your variable names and types here. I’m going to add 3 variables for now but this can be extended as required. Important point is, make sure you check the ‘Historic data analytics’ slider to On.

Nodes on the Streaming dataset
Image — Nodes on the Streaming dataset

Once you click on ‘Create’ button there would be Push URL created for this dataset,we can go back to Logic App & Add a new step and search for ‘Power BI’ then add this step which should look as follows:

Step #4 : Add Power BI action to push the Sentiment analysis data

Add Power BI action to add rows to dataset
Image — Add Power BI action to add rows to dataset
Power BI Streaming dataset
Image — Power BI Streaming dataset

Step #5 : Design Power BI dashboard

Once you login to Power BI account,locate your data sets and click on the graph icon as shown below.

Click on 'Graph' icon to create dashboard
Image — Click on ‘Graph’ icon to create dashboard

On the dashboard,I have added graph with the sentiment over time and text box which just displays count of tweets.

Sentiment graph over time + count of tweets
Image — Sentiment graph over time + count of tweets
Pin the report to dashboard
Image — Pin the report to dashboard

Now you can navigate to dashboard and see the counter go up every time a tweet is tweeted!

Here is the final output

Final dashboard
Image — Final dashboard

I have add some more elements like map etc., & here is the final one.

Final output
Image — Final output

Like this post? Don’t forget to share it!

Originally published at @upnxtblog.

--

--

KarthiKeyan Shanmugam
KarthiKeyan Shanmugam

No responses yet