cancel
Showing results for
Did you mean:
Highlighted
New Member

## 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
Highlighted
Resident Rockstar

## 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
Highlighted
Solution Sage

## 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.

Highlighted
New Member

## 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.

Highlighted
Resident Rockstar

## 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!

Highlighted
New Member

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

Works perfectly. Thanks a lot!

Highlighted
Resident Rockstar

## 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

#### Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

#### Experience what’s next for Power Automate

See the latest Power Automate innovations, updates, and demos from the Microsoft Business Applications Launch Event.

#### Power Platform Community Conference

Find your favorite faces from the community presenting at the Power Platform Community Conference!

Top Solution Authors
Top Kudoed Authors
Users online (5,691)