Save the date! Join us on October 16 for our Product Ops launch event. Register here.
Aug 21, 2023 06:03 PM
Hi!
So I am an agent who books talent for conventions. I have a base that has like 75 sheets in it. Each sheet is a convention and on those sheets it is marked which talent is going to that convention. My question is, can I make another sheet for the front of the base that is basically a "Master Convention list" which would list each of the talent in column A and then in columns B-whatever, list what conventions they are invited to (which sheets they appear on)
I can't seem to figure this one out. Any help would be appreciated
Aug 21, 2023 09:34 PM
I have similar setups, and you kinda want to think backwards. You create another table that is Talent and list everyone there. Then you use that to link to each convention. May be a bit of work to re-configure everything currently, but in the end you will actually have something really useful, where you can filter down details for each talent and con and other things from there.
Just like this https://airtable.com/appVMj2U48nHDstSo/shrHrxVvmLH58DFeZ
I have reconfigured my setup several times before I got something really good 🙂
Aug 22, 2023 07:09 AM
Hi,
I have script for task, close to yours. to get all data from all tables to master.
Requirements - all tables should include fields with same names as in "Master" table (others are ignored)
Set up variable in 2nd line to exclude any tables, if needed (at least 'Master' should stay in list)
Hope that helps
const table=base.getTable('Master'); let data=[]
const excluded=['Master','Any other table to exclude','or several tables']
const xtables=base.tables.filter(t=>!excluded.includes(t.name))
const fld=table.fields.map(f=>f.name.toString()) //Master defines field list
const row=r=>({fields:Object.fromEntries(fld.map(f=>[f,r.getCellValueAsString(f)]))})
const gettab=async tab=>await tab.selectRecordsAsync({fields:tab.fields}).then(q=>q.records.map(row))
for(var t of xtables) data.push(...await gettab(t))
while (data.length) await table.createRecordsAsync(data.splice(0,50))