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.
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,"😱")
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
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
For this, you could use a button and a table to store the votes
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 …
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.
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
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 … Same goes for the button )
2nd Action : ModifyRows() : It just modifies thisRow.Scale to get it back to its initial Blank ("") state .
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 ( ) of all the votes
You could also do something similar using the Canvas
@Thierryvm : It’s not necessarily a better approach . Just a different one.
Using a form would be a way to do it… It’s just that @Jonathan_Richardson mentioned this in his original post
So, as it seems that forms were out of question, I simply shared other possibilities