cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
wilfordm81
Helper II
Helper II

Sentiment Analysis Displayed as an Emoji

Hi there, 

 

I'm struggling to determine how I would convert the result from sentiment analysis of a piece of text, and display it as an emoji.

 

What I've tried:

 

On a selected Power Apps screen, in the advanced settings, OnVisible - Set(EmojiSad, false); Set(EmojiNeutral, false) etc.

 

In a separate label, which has the sentiment analysis text return "negative" for example.

 

Then, within the icon properties, specifically Visible, using: If(Label9.Text, "negative", true, EmojiSad = true).

 

The result:

The icon vanishes and a warning triangle appears above the icon.

The message: "Incompatible types for comparison. these types can't be compared: Text, Boolean."

 

Can anybody shed any light on how I can resolve this. 

 

Thanks in advance

 

W

1 ACCEPTED SOLUTION

Accepted Solutions
JoeF-MSFT
Power Apps
Power Apps

👋 Hi @wilfordm81,

 

We're big fans of emojis in AI Builder, so you've come to the right place! 

 

Here is one way to do it:

 

1. Add a TextInput and Button to your app

 

JoeFMSFT_0-1639515414207.png

 

2. On the Button OnSelect property, add the following formula: 

 

Set(SentimentValue, AIBuilder.AnalyzeSentiment(TextInput1.Text).sentiment)

 

 

JoeFMSFT_2-1639515568255.png

 

3. Add a Label, and set the following formula on the Text property: 

 

Switch(SentimentValue, "positive", "🙂", "negative", "🙁", "😐")

 

This will display:

  • 🙂 if the sentiment of the sentence entered on the text input is positive
  • 🙁 if the sentiment of the sentence is negative.
  • 😐 if the sentiment is neutral.

 

JoeFMSFT_3-1639515656185.png

 

4. Test the app by writing a sentence and selecting the button.

 

JoeFMSFT_4-1639515868387.png

 

If you're looking to show/hide icons, then use the following formula for each of the corresponding icons. For example, for the positive emoji icon, the formula to use is:

 

 

If(SentimentValue = "positive", true, false)

 

 

JoeFMSFT_5-1639516077926.png

 

 

I hope this helps! 🚀

 

View solution in original post

16 REPLIES 16
JoeF-MSFT
Power Apps
Power Apps

👋 Hi @wilfordm81,

 

We're big fans of emojis in AI Builder, so you've come to the right place! 

 

Here is one way to do it:

 

1. Add a TextInput and Button to your app

 

JoeFMSFT_0-1639515414207.png

 

2. On the Button OnSelect property, add the following formula: 

 

Set(SentimentValue, AIBuilder.AnalyzeSentiment(TextInput1.Text).sentiment)

 

 

JoeFMSFT_2-1639515568255.png

 

3. Add a Label, and set the following formula on the Text property: 

 

Switch(SentimentValue, "positive", "🙂", "negative", "🙁", "😐")

 

This will display:

  • 🙂 if the sentiment of the sentence entered on the text input is positive
  • 🙁 if the sentiment of the sentence is negative.
  • 😐 if the sentiment is neutral.

 

JoeFMSFT_3-1639515656185.png

 

4. Test the app by writing a sentence and selecting the button.

 

JoeFMSFT_4-1639515868387.png

 

If you're looking to show/hide icons, then use the following formula for each of the corresponding icons. For example, for the positive emoji icon, the formula to use is:

 

 

If(SentimentValue = "positive", true, false)

 

 

JoeFMSFT_5-1639516077926.png

 

 

I hope this helps! 🚀

 

That's brilliant, thanks so much @JoeF-MSFT! Worked like a charm 👌🏻

wilfordm81
Helper II
Helper II

@JoeF-MSFTas you provided such great advice yesterday, I wanted to know if it's possible to assign gallery items with an emoji by using a "ThisItem." ?

 

So far in my attempts, I've assigned the code above:

If(SentimentValue = "positive", true, false)

 to an icon.visible within a gallery template, but, being as the gallery data source contains positive, neutral and negative articles, whenever I click on a gallery item, the emoji's for ALL articles synchronise. 

 

Is there any way to resolve this?

 

This might not make complete sense, so am happy to elaborate if needed.

 

Thanks!

JoeF-MSFT
Power Apps
Power Apps

Hi @wilfordm81 - great to see that you are taking your app further! 👍

 

Here is a possible way to achieve this.

 

1. By executing a formula that will go over all articles, runs AI Builder sentiment analysis for each article and stores in a new collection 1) the article text and 2) the extracted sentiment for that article. In this example, I've set to run this formula on a button click, but you could decide to run it somewhere else like at app launch for example. 


In this formula, Sentences is where I have all the articles loaded.

 

ForAll(
    Sentences,
    Collect(
        CollectionForGallery,
        {
            text: ThisRecord.Value,
            sentiment: AIBuilder.AnalyzeSentiment(ThisRecord.Value).sentiment
        }
    )
)

 

 

JoeFMSFT_0-1639608717127.png

 

2. Add a Gallery that had as Items data source the new collection we defined in the previous formula. In the case of my example above, CollectionForGallery

 

JoeFMSFT_1-1639608850428.png

 

3. Then you can add the corresponding values, logic for the text and icons to display like this:

 

JoeFMSFT_2-1639608943496.png

JoeFMSFT_3-1639608983980.png

JoeFMSFT_5-1639609026084.png

JoeFMSFT_6-1639609055720.png

 

Hope this helps! 🙂 If I may ask - for what use case are you building this app that uses sentiment analysis? 

 

wilfordm81
Helper II
Helper II

Hi @JoeF-MSFT,

 

Thanks for responding & happy holidays.

 

Apologies for the delay, however I have not been able to get this solution working I'm afraid.

 

I'm curious to know if I need to create a collection? I ask, because when I enter this solution, the entire formula errors out, as it seems to have a problem with the "location" of the formula. The article "newsfeed" for lack of a better term, is on a different screen to the gallery, which analyses the the articles in question.

 

The purpose of this particular app and the inclusion of sentiment value, begins with collected news articles using an SQL Server database, which analyses the aforementioned text to be beneficial or not, for the end-user.

 

W

JoeF-MSFT
Power Apps
Power Apps

Hi @wilfordm81 - happy holidays to you as well! ☃️

 

Yes, on my example above Sentences is a sample collection. I create it with the click of a button, using the following formula:

 

ClearCollect(Sentences, "I love the new emojis in Windows 11!","I broke my leg skiing", "Horchata is a drink")

 

JoeFMSFT_0-1640706461040.png

 

In your case, if you already have as datasource in your Power App the SQL Server table, you can replace Sentences by the SQL table. In the screenshot below I've connected to to a table called 'newsfeed' in a SQL Server database. The column that contains the text to analyze is called 'article', so I've updates the formula accordingly: 

 

JoeFMSFT_2-1640706703978.png

 

I hope this helps!

wilfordm81
Helper II
Helper II

Happy new year @JoeF-MSFT !

 

So, I've implemented the steps you've suggested, but the emoji icons aren't displaying. 🤯

 

See attached images for formulas:

 

This is the button on the landing screen, which navigates to the dedicated news screen, and analyses the articleTitle, displayed in the corresponding gallery.

navigation_analyse_button.png

 

This is for the corresponding gallery on the news screen, using the collection from the previous formula.

selected_gall.png

 

This is an example of the formula associated with an emoji icon.

emoji_example.png

 

Is there something I'm missing?

 

W

JoeF-MSFT
Power Apps
Power Apps

Hi @wilfordm81 - thanks! Happy new year as well! 🎉

 

The formulas look good. Is anything displayed on the gallery? Or it remains empty with zero rows?

wilfordm81
Helper II
Helper II

So there are three labels within a template:

 

thisitem.companyName

thisitem.articleTitle

thisitem.articleDate

 

and they all show their respective content.

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Users online (2,388)