# Averaging Rating Data

**URL:** https://community.glideapps.com/t/averaging-rating-data/28204
**Category:** Ask for Help
**Created:** [June 21, 2021, 3:25pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204 "2021-06-21T15:25:34Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![1st\_Sedgley\_Scout\_Gr](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/1st_sedgley_scout_gr/32/25628_2.png) [@1st\_Sedgley\_Scout\_Gr](https://community.glideapps.com/u/1st_Sedgley_Scout_Gr)
#### Post date: [June 21, 2021, 3:25pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204/1 "2021-06-21T15:25:34Z")

</div>

Hey,

So we have an app for a conference very similar to template one, however, we would like users to be able to rate each speaker and for the app to show the **average rating for each speaker**. I know there is no native function for this yet but is there a workaround anyone could explain?

Any ideas would be appreciated!

Alex

**Details:**  
Every use should be able to rank the speaker (which I can do with user-specific rows & the rating input), however, I would then like to take all the data from all the users and average it to get an average rating to display in a chart on the app for everyone to see. The second part is where I am stuck.

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [June 21, 2021, 11:29pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204/2 "2021-06-21T23:29:21Z")

</div>

This concept might help you.

> [@Rollup Likes](https://community.glideapps.com/t/rollup-likes/18376):
>
> Rollup likes using actions while limiting to one like per user. The action is configured as shown where the Like Counter is the actual counter and the “Liked By” Column is a user specific column where I am incrementing the user’s ID from their profile (It’s a basic number assigned to each user using a formula like =arrayforumla(row(A2:A)) I use this user-specific column to define the visibility of the button outside so that one user cannot like a post twice. [image]

If you still have questions about it please come back here and we will try to help.

---

<div class="post-metadata">

### Author: ![1st\_Sedgley\_Scout\_Gr](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/1st_sedgley_scout_gr/32/25628_2.png) [@1st\_Sedgley\_Scout\_Gr](https://community.glideapps.com/u/1st_Sedgley_Scout_Gr)
#### Post date: [June 22, 2021, 10:36am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/3 "2021-06-22T10:36:10Z")

</div>

Hey,

Thank you for your quick help! The idea was perfect, however, unfortunately, the ‘ratings’ field does not have the option to add an action to it. So I could pivot and have a like function, but, if you know of anything else that could help with a cumulative rating and averaging of the rating tool that would be awesome!

Thank you for your time.

Alex

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [June 22, 2021, 12:33pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204/4 "2021-06-22T12:33:24Z")

</div>

You can do it in a separate screen like this.

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/1/d/1d320f2dd1b8bd06b1f217e20e8dceab8bfe1696.png)

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/b/7b4a9b8d4320b3e0c3889d1d36b5828c02db656d.jpeg)

You would store the rating to a user-specific column that only serves as a temporary storage on the second screenshot. Let’s call it “temporary rating”.

Force users to make a decision whether to “submit” or not. If they press submit you write that value to another column “permanent rating”, also a user-specific column. Serves only as a way to show the rating to the signed-in user later on.

Now for the average, it gets a bit complicated. You would need 2 columns to help here:

- A total global rating column (number, normal column).

- A total global raters (number, normal column).

On the submit action chain, after the set column to the “permanent user rating”, next actions would be incrementing the total global rating by the permanent user rating, then increment 1 in the total global raters.

Finally, the average would be a math column: Total global rating/Total global raters.

---

<div class="post-metadata">

### Author: ![1st\_Sedgley\_Scout\_Gr](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/1st_sedgley_scout_gr/32/25628_2.png) [@1st\_Sedgley\_Scout\_Gr](https://community.glideapps.com/u/1st_Sedgley_Scout_Gr)
#### Post date: [June 22, 2021, 4:08pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204/5 "2021-06-22T16:08:47Z")

</div>

Hey,

Thank you that works perfectly! Thank you for your time and help much appreciated.

Alex

---

<div class="post-metadata">

### Author: ![Cameraville](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cameraville/32/60231_2.png) [@Cameraville](https://community.glideapps.com/u/Cameraville)
#### Post date: [July 20, 2024, 8:39am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/6 "2024-07-20T08:39:02Z")

</div>

It seems to get immensely more complicate if I then want to allow a user to edit their rating. Do you have ideas how to do this? I’d need to know if they already rated, then if yes, remove their old rating from from the cumulative rating and resubmit the new one. It sounds easy but as I try here for 2 hours it seems just impossible. .

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [July 21, 2024, 12:33am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/7 "2024-07-21T00:33:41Z")

</div>

I think the easiest way to do that would be having a separate table for the ratings. Do you anticipate the usage to go so high that your team’s plan wouldn’t be able to host a person’s rating on its own row?

---

<div class="post-metadata">

### Author: ![Cameraville](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cameraville/32/60231_2.png) [@Cameraville](https://community.glideapps.com/u/Cameraville)
#### Post date: [July 21, 2024, 6:48am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/8 "2024-07-21T06:48:23Z")

</div>

Yes. I have around 400 items (and growing by about 5-10 per month) for which their essential information is a rating across 17 points. That would be l mean only 3-4 people can rate all the items, or around 100 people can rate 10 items before rows exceed 25k…

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [July 21, 2024, 9:37am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/9 "2024-07-21T09:37:44Z")

</div>

By “across 17 points”, do you mean they have to submit 17 different types of rating for an item?

---

<div class="post-metadata">

### Author: ![Cameraville](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/cameraville/32/60231_2.png) [@Cameraville](https://community.glideapps.com/u/Cameraville)
#### Post date: [July 21, 2024, 9:50am UTC](https://community.glideapps.com/t/averaging-rating-data/28204/10 "2024-07-21T09:50:25Z")

</div>

Yes. They have the option to. And likely a user would submit all 17 or none at all. A simple star rating or 1-5 is sufficient. I’m thinking the only option is to make a row on another sheet for each vote. Then manually delete and close ratings once a certain number of ratings is achieved - and manually save the cumulative ratings on the 17 points for the device. 😕

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [July 21, 2024, 11:01pm UTC](https://community.glideapps.com/t/averaging-rating-data/28204/11 "2024-07-21T23:01:29Z")

</div>

[![](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/c/b/cb2489fa94995be9c0dccebee67c425371bb6c9e.jpeg "Glide: Build an Inventory Ordering App Using the JSON Trebuchet Method") ](https://www.youtube.com/watch?v=1QbKTccN850&t=1759)

I think this is what you need.
