Help

Only show each username once in a highscores leaderboard

Topic Labels: Base design
Solved
Jump to Solution
2824 6
cancel
Showing results for 
Search instead for 
Did you mean: 
Tom_Howarth
5 - Automation Enthusiast
5 - Automation Enthusiast

Hello!

For a school assignment (Software Development and Design) I am creating a game and using airtable as the online highscores database. So far its been working really well, as soon as one of my friends completes a run a record is added to my records table and it can be sorted so that I can see who is ontop of the leaderboard. The only issue with my current setup is that it has become hard to see any of the other players becuase a few particular users have filled up the top 300 slots or so as shown in the image.

Screenshot 2021-04-30 174849
(Please ignore my friends “creative” choice of usernames)

So what I think would be a good solution would be to either 1) Have another view/table that only shows the best run for each username or 2) remove/hide all of the runs that are not the best run

Thanks,

  • Tom Howarth
1 Solution

Accepted Solutions

Nope!

1.[Records] table: Add a Lookup-type field that pulls in the {Fastest Time} field from your [Users] table.
2. [Records] table: Add a Formula-type field that uses: IF({Time} = {Fastest Time lookup field}, 1, 0)
3. [Users] table: Add your Lookup-type field(s) with the condition being that the Formula-type field has a value of 1

See Solution in Thread

6 Replies 6

If {Username} was a Link to another record-type field that linked to a [Usernames] table, that table would have one row per user and you could use Rollup-type fields to show that user's max or total score from your [Records] table.

Thanks for the quick reply!
Is there anyway I can make this change retroactively? Currently the username feilds are all Shaort text feilds and would a solution like this still continue to work with the airtable API where I pass in the username as a string variable?

Yep, just right click it and select “Customize field type”, then change the field type to Link to another record.

If you’re worried about maintaining compatibility with whatever API calls you have set up, add a new field of the type Link to another record and use an Automation to copy values from your existing {Username} field into the new link field.

Alright so I think thats given me most of the functionality I wanted. I am able to set the rollup feild so that It only shows the shortest time given the conditions on the run and other stats like the total amount of runs from the player. The last thing im wondering about though is - is it possible to select the one record that has that fastest time and use lookup feilds to display the other information about that fastest run.

Eg) Currently I have a rollup that shows goes through all of the GameTimes and shows the gameTime that is shortest and matches the conditions. This is great but it doesnt tell me what run got that shortest time

Thankyou for all of your help so far, I understand if this is pushing what airtable is capable of doing :slightly_smiling_face:

Thanks, Tom H

Nope!

1.[Records] table: Add a Lookup-type field that pulls in the {Fastest Time} field from your [Users] table.
2. [Records] table: Add a Formula-type field that uses: IF({Time} = {Fastest Time lookup field}, 1, 0)
3. [Users] table: Add your Lookup-type field(s) with the condition being that the Formula-type field has a value of 1

That is exactly what I wanted,
image
Thankyou so much for your help!