Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: How to get unique information from an column by using formulas

1696 0
cancel
Showing results for 
Search instead for 
Did you mean: 
kaan_g
4 - Data Explorer
4 - Data Explorer

I have a simple grid view data like that:

sample-table

and I want to filter my data by company’s uniqueness and get an array which includes list of companies by unique like ['Google', 'Facebook', 'Apple'] read Formula Field Reference but couldn’t find. I can fetch entire data and make filtering on client side but instead of getting entire data, I want to pull only array of companies. By code below so far. Thank you

    const RES = await db('users').select({
      view: 'Grid view',
      filterByFormula: 'some filter should be happen at there',
    }).all()
    console.log(RES) // should return ['Google', 'Facebook', 'Apple']
2 Replies 2

Hey you’d want to create an array of the Company, and potentially use ARRAYUNIQUE([item1, item2, item3])

Hi @kaan_g - if RES is returning an array of users (which I guess it is), then you could do something like:

let unique = [...new Set(RES.map(user => user['Company']))];
console.log(unique);  

I haven’t tested this out, but the following works nicely in Airtable scripts, so hopefully you can modify for your code:

let peopleTbl = base.getTable('People');
let query = await peopleTbl.selectRecordsAsync();

let unique = [...new Set(query.records.map(person => person.getCellValue('Company')))];
console.log(unique);

Screenshot 2020-05-18 at 13.09.08

based on this table:

Screenshot 2020-05-18 at 13.10.17

This is creating a new Set, then “spreading” the values of the Set object to an array.