Skip to main content

It would be nice to have an easy way to see what other fields a certain field is being used in.
Ex: If I have a field called Start date and this field is used in the formulas for three other fields, it would be nice to be able to click on the Start date field and see what those other fields are.


Otherwise, if I need to check where a field is used, I end up having to check all 200 other formula fields in my table (not to mention the other tables in the base that may be using lookup/rollup fields)

Huge +1 on this suggestion. I have a very similar scenario to the one described by @Taylor and it has become very complicated to update fields that might be used in formulas.


Huge +1 on this suggestion. I have a very similar scenario to the one described by @Taylor and it has become very complicated to update fields that might be used in formulas.


Idk how long has this been a thing but Airtable does expose the data you want through the Scripting app as of right now.


Here, drop this into any base for a quick report on your formula interdependencies:


base.tables.forEach(Table=>{

Table.fields.filter(f=>f.type==='formula')
.forEach((fField,i) => {

if(!i)
output.markdown(`# ${Table.name}`);
const refFields = fField.options.referencedFieldIds
output.markdown(`Field **${fField.name}** is referenced by ${refFields.length} field${refFields.length!==1?'s':''}.`)

if(refFields.length)
output.table(refFields.map(v=>v={id:v,name:Table.getField(v).name}))

})
});

In action:



Thr Field List app shows this information with a premium license. You can learn more on my website.


Idk how long has this been a thing but Airtable does expose the data you want through the Scripting app as of right now.


Here, drop this into any base for a quick report on your formula interdependencies:


base.tables.forEach(Table=>{

Table.fields.filter(f=>f.type==='formula')
.forEach((fField,i) => {

if(!i)
output.markdown(`# ${Table.name}`);
const refFields = fField.options.referencedFieldIds
output.markdown(`Field **${fField.name}** is referenced by ${refFields.length} field${refFields.length!==1?'s':''}.`)

if(refFields.length)
output.table(refFields.map(v=>v={id:v,name:Table.getField(v).name}))

})
});

In action:



THank you so much, it works like a charm!


Reply