Hello, I have a question and I'm wondering, with the new Notion button feature, is it possible to make a formula in Notion whereby you could enable people to vote in a database with buttons in Notion and then have it where there's a formula that calculates a different score for each person and use that to create kind of a voting weight in Notion where people can upvote a topic in a database with a database button and then the counter doesn't just go up by one but there's a counter that goes up by a certain amount of points for each person depending on what they vote.
Yes, it's possible to create a voting system in Notion with the button feature in databases, where each vote can have a different weight based on the person voting or other criteria. Here's a simplified way to set it up:
- Create a Database: Start by creating a database for the topics or items people will vote on.
- Add a Number Property: This will be your "Vote Counter" property, which will hold the total score each topic has received from votes.
- Create a Formula Property: This formula will calculate the new score based on the existing score and the vote's weight. The complexity of your formula will depend on how you want to weight each vote. For a simple implementation, you could just add a fixed number per vote.
- Use Buttons to Adjust Scores: Notion's button feature doesn't directly support running formulas or scripts. However, you can set up a button to increment the Vote Counter by a fixed amount. To dynamically change the amount based on who is voting or apply different weights, you would need to manually adjust the value it increments by or use an external integration or tool that interacts with Notion's API to automate this process.
For a weighted voting system where different users' votes count for different amounts, you'd likely need to:
- Use Notion's API to customize the voting logic further.
- Keep track of each user's voting weight outside of the basic button functionality, as Notion currently doesn't have built-in user recognition in this context.
This setup is somewhat limited by Notion's current functionality. The direct application of different weights for each user's vote via buttons isn't straightforward without external integrations. Tools like Zapier, Integromat, or custom scripts using Notion's API could help automate the process, where a script could adjust the Vote Counter based on the voter's predetermined weight.
Keep in mind, as Notion updates and adds new features, there might be more direct ways to implement this in the future or through creative use of the current functionalities combined with third-party tools.
Is it possible to use a roll-up so you can automatically input a different voting weight for each different person in one database or in one property of a database and then use that roll-up or perhaps even a reference instead of a roll-up to show the voting score for each person so when you do the counter then you can calculate in the formula the vote from each person and then multiply that by their voting weight that is manually input into another property or into another field in a database via a reference or a roll-up?
Yes, you can use a combination of roll-up and formula properties in Notion to implement a weighted voting system where each person's vote can have a different weight. This approach involves linking two databases: one for the voters (or users) with their respective voting weights, and the other for the topics or items being voted on. Here's a basic outline of how you could set this up:
- Voters Database: Create a database for voters. Each entry represents a person, and there should be a property for the voting weight of each person. You manually input the voting weight here.
- Topics Database: Create a second database for the topics or items that people can vote on. This is where votes will be tallied.
- Relation and Roll-up: In the Topics Database, create a relation property to the Voters Database. This allows you to link voters to topics. Then, use a roll-up property to aggregate the voting weights from the Voters Database based on the relations you've set up. For example, if a topic has been voted on by several users, you can sum up their voting weights.
- Voting Mechanism: You'll need a way to record votes. This could be as simple as creating a multi-select property in the Topics Database where each vote is an entry, or more complex involving external tools or manual adjustments.
- Calculate Scores with a Formula: Use a formula property in the Topics Database to calculate the total score for each topic. This formula would multiply the number of votes (or a base score) by the aggregated voting weight from the roll-up property.
Here's a simple formula structure:
- Base Score Calculation: This could be a count of the number of votes or entries in a multi-select or relation property.
- Weighted Score Calculation: Multiply the base score by the sum of the voting weights (from the roll-up property) to get the weighted score.
This setup assumes that each vote is equal and the differentiation comes from the voter's weight. Adjusting for votes to have different base values before weighting would complicate this further and might require manual intervention or external automation.
This method relies heavily on manual input for voting and setting up relations between databases. For more dynamic or complex voting systems, integrating Notion with external tools through its API might be necessary to automate these processes.