cancel
Showing results for
Did you mean:
Level: Power Up

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

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!

1 ACCEPTED SOLUTION

Accepted Solutions
Super User

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

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 this post has solved your problem, please click "Accept as Solution".

Thanks, Alan

Proud to be a Flownaut!

5 REPLIES 5
Level 10

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

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.

Level: Power Up

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

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.

Super User

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

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 this post has solved your problem, please click "Accept as Solution".

Thanks, Alan

Proud to be a Flownaut!

Level: Power Up

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

Works perfectly. Thanks a lot!

Highlighted
Super User

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

You’re most welcome.
Happy Flowing.
Thanks, Alan

Proud to be a Flownaut!

Announcements

#### Better Together Contest Finalists Announced!

Congrats to the finalists of our ‘Better Together’-themed T-shirt design contest! Click for the top entries.

#### Incoming: New and improved badges!

Look out for new contribution recognition badges coming SOON!

#### New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!

#### Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

#### Community Summit North America

The top training and networking event across the globe for Microsoft Business Applications

Top Solution Authors
Top Kudoed Authors
Users online (8,245)