Team voting using a Scale?

Is it possible to make a Scale as a means of voting? At the moment there is an upvote/like style option, which works for a lot of things. But I was looking to get team members to vote on a 1-5 scale using the Number > Scale column (and in an ideal world non-team members too, but I’d settle just for team members).

Is it possible to have a Scale row result not be set by one person but by many? I tried creating a form but that’s just for inputting a new row, not displaying existing and asking for votes.

Hello @Jonathan_Richardson ,

I also use sliders for voting :).

SwitchIf(thisRow.[Make an emoji slider]=5,"😎😎😎😎😎",thisRow.[Make an emoji slider]=4,"🙂🙂🙂🙂",thisRow.[Make an emoji slider]=3,"😐😐😐",thisRow.[Make an emoji slider]=2,"😣😣",thisRow.[Make an emoji slider]=1,"😱")

Sincerely,

Thierry
chrome_Kuf9Y5kZkF

Thanks @Thierryvm I’ve copied your code but does your work so that different team members can vote on it? For instance if I move the slider to 4 would it only record my 4 score, what if someone else logged in and moved it? Thanks

Hello @Jonathan_Richardson ,

Indeed here the limit of this basic system is that anyone in the state could modify.

But if you define for example a column with the participants for example with a selection list for each new vote, the new voter should understand quite easily that he has to choose his row.

Another solution would be to use a form that links this table and then he should not be able to intervene on other votes.

If it doesn’t work as you wish, I will test it myself as soon as I have a little more time.

If not, I’m sure that some pro coders will come by here :slight_smile:

Sincerely,

Thierry

Translated with DeepL Translate: The world's most accurate translator

Hi @Jonathan_Richardson :blush: ,

For this, you could use a button and a table to store the votes :blush:

Here is a very quick sample I put together and as you’ll see the [Voting Table] is just a one row helper table where I have a scale, a button and a notes/canvas column to store all the votes :blush:

The scale is used to input the vote (from 1 to 5) so anyone can modify it… The button effectively save the vote in the table [All votes]. Then it resets the scale to its initial value.

The button Action formula looks like this :

RunActions(
  AddRow(
    [All votes], 
    [All votes].Vote,thisRow.Scale,
    [All votes].People, User()
    ),
  ModifyRows(
    thisRow,
    thisRow.Scale,
    ""
  )
)

And what it does is:

1st Action : AddRow() : It adds a row to the table [All votes] with the following values:

  • In the column Vote, it adds the value of thisRow.Scale
  • In the column People, it adds the current user (User()) … if you need it :blush:
    Another way to add the person who voted would be to use the table property Created by (But as I still only have one Coda Account, I’m enable to test this fully :innocent: … Same goes for the button :blush: )

2nd Action : ModifyRows() : It just modifies thisRow.Scale to get it back to its initial Blank ("") state :blush: .

I’ve also added a Disable if formula to disable the button if thisRow.Scale.IsBlank() (to avoid blank votes)

And then, there’s a simple Average column to calculate the average (:sweat_smile: ) of all the votes :blush:

You could also do something similar using the Canvas :blush:

Those are just ideas :blush: … But I hope it helps :blush:

4 Likes

Hello,

Indeed Pch, your approach is much better than mine :).

Sincerely,

Thierry

@Thierryvm : It’s not necessarily a better approach :blush: . Just a different one.
Using a form would be a way to do it… It’s just that @Jonathan_Richardson mentioned this :point_down: in his original post :blush:

So, as it seems that forms were out of question, I simply shared other possibilities :wink:

2 Likes

thanks both, both are useful ::

2 Likes