Edit all records in a table with an array

  • 1
  • 2
  • Question
  • Updated 2 months ago
  • Answered
  • (Edited)
How would I use an API and or code page to edit every record in a table with the contents of an array?

I want to essentially split up the records evenly and assign them to 8 different names.
Photo of Geoffrey Davis

Geoffrey Davis

  • 134 Points 100 badge 2x thumb

Posted 3 months ago

  • 1
  • 2
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 29,924 Points 20k badge 2x thumb
I assume you are doing something like (1) assigning a set of workers to a list of tasks or (2) assigning as set of salespeople to a list of leads.

Assume by some means you have a array of rids and an array of workers:
var rids = [1,2,3,10,11,12,101,102,103];
var workers = ["Larry", "Curly", "Moe"];
This code will produce a blob of csv you can import which will evenly assign workers to the list of records:
var csv = _.chain(rids)
  .shuffle()
  .map(function(rid, index) {
    return `${rid}, ${workers[Math.floor(index % n)]}`;
  })
  .value()
  .join(`\n`);
console.log(csv);
11, Larry
1, Curly
12, Moe
102, Larry
10, Curly
2, Moe
3, Larry
103, Curly
101, Moe
(Edited)
Photo of Geoffrey Davis

Geoffrey Davis

  • 134 Points 100 badge 2x thumb
Ah thank you. Is there any way to chop this down to a URL formula that will EditRecord and just assign each record sequentially from an array?
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 62,994 Points 50k badge 2x thumb
Geofrey,
If the goal is to assign randomly have you considered a formula field based off the Record ID#
Photo of Geoffrey Davis

Geoffrey Davis

  • 134 Points 100 badge 2x thumb
Hmm, I have not. Would you be able to use this to equally distribute the records?
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 62,994 Points 50k badge 2x thumb
Yes, because the record ID#s are random.  Well i mean that they are sequential so you can use them to allow records to "agents" in a round robin fashion.

For example if you run a report sorted by [Record ID#] and then have a column with a formula like

REM([Record ID#],8) +1, then you should see that column counting up from 1 to 8 and then start over at 1.

https://login.quickbase.com/db/6ewwzuuj?a=dr&r=bu&rl=bh9h








Photo of Geoffrey Davis

Geoffrey Davis

  • 134 Points 100 badge 2x thumb
That works for my problem. Thank you for your help!