- Microsoft Power Automate Community
- Community News
- News & Announcements
- Get Help with Power Automate
- General Power Automate Discussion
- Connecting To Data
- Building Flows
- Using Flows
- AI Builder
- Power Automate Mobile App
- Translation Quality Feedback
- Share, Chat, Discuss
- Community Chat & Announcements
- Help with the Forum
- The Power Automate Cookbook
- Off Topic Discussion
- Watch & Share Videos
- Webinars and Video Gallery
- MBAS Gallery
- Give Feedback & Share Ideas
- Power Automate Ideas
- Report Issues
- I Found A Bug
- Find & Join Local User Groups
- Power Automate User Groups
- Read & Share Blogs
- Power Automate Community Blog
- Community Blog Topic Suggestions

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Microsoft Power Automate Community
- Forums
- Get Help with Power Automate
- General Power Automate Discussion
- How to convert Forms Likert Scale into value and c...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

dsFra

Level: Power Up

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-02-2019
03:35 AM

I am using a 6 point Likert Scale in Forms ("Oustanding", "Beyond Expectation", "Meets Expectation", "Below Expectation", "Issue", "Unknown"). I have 9 items, which are assessed along these lines.

How can I transform the data in Flow efficiently into values from 5 ("Oustanding") to 1 ("Issue") and compute the average of these values (with "Unknown" being ignored in the computation of the mean)?

Thanks!

Solved! Go to Solution.

1 ACCEPTED SOLUTION

Accepted Solutions

AlanPs1

Super User

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-05-2019
06:33 PM

Hi @dsFra

This is possible but not straight forward.

I see where you are going with "if(equals(...,"Outstanding),5,if(equals(...,"Beyond Expectation"),4, ... etc ... ))" and what I propose below, may be able to further enhanced but here is a working example that has been tested and does provide the results you are looking for in a float so 1.5 is possible when averaging off the final compute.

Here is the form:

Here is the Flow

Here are the actions and expressions:

if(equals(variables('Q1'), 'Oustanding'),int('5'),if(equals(variables('Q1'), 'Beyond Expectation'),int('4'),if(equals(variables('Q1'), 'Meets Expectation'),int('3'),if(equals(variables('Q1'), 'Below Expectation'),int('2'),if(equals(variables('Q1'), 'Issue'),int('1'),if(equals(variables('Q1'), 'Unknown'),int('0'),''))))))

if(equals(variables('Q2'), 'Oustanding'),int('5'),if(equals(variables('Q2'), 'Beyond Expectation'),int('4'),if(equals(variables('Q2'), 'Meets Expectation'),int('3'),if(equals(variables('Q2'), 'Below Expectation'),int('2'),if(equals(variables('Q2'), 'Issue'),int('1'),if(equals(variables('Q2'), 'Unknown'),int('0'),''))))))

if(equals(variables('Q3'), 'Oustanding'),int('5'),if(equals(variables('Q3'), 'Beyond Expectation'),int('4'),if(equals(variables('Q3'), 'Meets Expectation'),int('3'),if(equals(variables('Q3'), 'Below Expectation'),int('2'),if(equals(variables('Q3'), 'Issue'),int('1'),if(equals(variables('Q3'), 'Unknown'),int('0'),''))))))

div(add(add(variables('A1'), variables('A2')), variables('A3')), variables('Divider'))

If implemented as above for 3 questions it works. You would need to scale out to suit you.

If you have found my post helpful, please mark thumbs up.

If this post has solved your problem, please click "Accept as Solution".

Any other questions, just ask.

Thanks, Alan

Proud to be a Flownaut!

5 REPLIES 5

v-zhos-msft

Level 10

Re: How to convert Forms Likert Scale into value and compute average?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-04-2019
11:13 PM

Hi @dsFra ,

I am afraid that there is no way to achieve your needs in Microsoft Flow currently.

According to your discription, first, we need get the 6 point, then transform the points into values.

However, in MS flow, we can only get the response details but not the form details.

Here is a similar idea you can vote with:

Best Regards,

Community Support Team _ Zhongys

If this post **helps**, then please consider * Accept it as the solution* to help the other members find it more quickly.

dsFra

Level: Power Up

Re: How to convert Forms Likert Scale into value and compute average?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-05-2019
03:54 PM

Thanks for your reply. But is there really no way?

I would just need to create some hard coded variable transformation: if the answer equals "Oustanding" then assign value "5", if "Beyond Expecation" assign "4" etc. In the end I need to compute an average and that's it.

I was trying to do this with an expression in the logic of "if(equals(...,"Outstanding),5,if(equals(...,"Beyond Expectation"),4, ... etc ... )). It didn't give me the right result, unfortunately, but maybe I had just a simple flaw in there.

AlanPs1

Super User

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-05-2019
06:33 PM

Hi @dsFra

This is possible but not straight forward.

I see where you are going with "if(equals(...,"Outstanding),5,if(equals(...,"Beyond Expectation"),4, ... etc ... ))" and what I propose below, may be able to further enhanced but here is a working example that has been tested and does provide the results you are looking for in a float so 1.5 is possible when averaging off the final compute.

Here is the form:

Here is the Flow

Here are the actions and expressions:

if(equals(variables('Q1'), 'Oustanding'),int('5'),if(equals(variables('Q1'), 'Beyond Expectation'),int('4'),if(equals(variables('Q1'), 'Meets Expectation'),int('3'),if(equals(variables('Q1'), 'Below Expectation'),int('2'),if(equals(variables('Q1'), 'Issue'),int('1'),if(equals(variables('Q1'), 'Unknown'),int('0'),''))))))

if(equals(variables('Q2'), 'Oustanding'),int('5'),if(equals(variables('Q2'), 'Beyond Expectation'),int('4'),if(equals(variables('Q2'), 'Meets Expectation'),int('3'),if(equals(variables('Q2'), 'Below Expectation'),int('2'),if(equals(variables('Q2'), 'Issue'),int('1'),if(equals(variables('Q2'), 'Unknown'),int('0'),''))))))

if(equals(variables('Q3'), 'Oustanding'),int('5'),if(equals(variables('Q3'), 'Beyond Expectation'),int('4'),if(equals(variables('Q3'), 'Meets Expectation'),int('3'),if(equals(variables('Q3'), 'Below Expectation'),int('2'),if(equals(variables('Q3'), 'Issue'),int('1'),if(equals(variables('Q3'), 'Unknown'),int('0'),''))))))

div(add(add(variables('A1'), variables('A2')), variables('A3')), variables('Divider'))

If implemented as above for 3 questions it works. You would need to scale out to suit you.

If you have found my post helpful, please mark thumbs up.

If this post has solved your problem, please click "Accept as Solution".

Any other questions, just ask.

Thanks, Alan

Proud to be a Flownaut!

dsFra

Level: Power Up

Re: How to convert Forms Likert Scale into value and compute average?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-06-2019
03:37 PM

Works perfectly. Thanks a lot!

AlanPs1

Super User

Re: How to convert Forms Likert Scale into value and compute average?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

03-06-2019
03:38 PM

You’re most welcome.

Happy Flowing.

Thanks, Alan

**Did I answer your question? Mark my post as a solution!**

Happy Flowing.

Thanks, Alan

Proud to be a Flownaut!