Impertinent

Impertinent

Share this post

Impertinent
Impertinent
AI Serving in Unsuspecting Roles
Copy link
Facebook
Email
Notes
More
WorkspacesAI

AI Serving in Unsuspecting Roles

Bill french's avatar
Bill french
Jun 05, 2023
∙ Paid

Share this post

Impertinent
Impertinent
AI Serving in Unsuspecting Roles
Copy link
Facebook
Email
Notes
More
Share

On the Airtable forum, Stephen Orr requested a new feature similar to the ALL() formula in Excel. I’ve seen many of his posts and he’s sharp, so I watch his posts closely.

A formula that returns a comma separated list of all values across records in a view for a given field:
ALL({some field})

This is a good feature request. I made a similar request in 2018 for Split(). That was 2,160 days ago. Still waiting. I hope Stephen is more successful in getting Airtable’s attention.

What he’s asking for is tantamount to a Parquet data format, which is one of the fastest file types to read generally and much faster than either JSON or CSV. It’s like a pivot table - fields are listed down the data structure and columns are represented as arrays for each field. Stephen only wants a single column’s values as an array, and Airtable should accommodate this.

The advantages of a Parquet data format are massive and it’s no coincidence that Pandas data frames are fundamentally able to read and write this format. It puts the science in data science for these reasons:

  • Compression

  • Performance

  • Schema evolution

  • Open source/non-proprietary

Enough about Parquet. Here’s why it’s relevant to Stephen’s feature request.

WorkspaceAI Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

Given a table like this, he wants a column transformed into an array.

Row-based Data Structure

A Parquet table looks like this.


"Name": ["Tesla", "CNN", "Airtable", "SalesForce", "IBM"],

"Stock Ticker": ["TSLA", "CNN", "ATB", "CRM", "IBM"],

"# Employees": [70757, 4000, 1000, 100000, 352000],

"Market Cap": [750000000000, 10500000000, 1050000000, 260000000000, 118000000000]


How’d I get this? AI.

PaLM 2 Text Completion Prompt to Transform Markdown to Parquet

By simply transforming the Airtable table into Markdown, I had the Parquet table in a few seconds.

JSON Representing Parque Data Structure

Taking this to the next level, Stephen’s data is now within reach.

PaLM 2 Text Completion Prompt to Extract a single Parquet Row

As you may have experienced, pushing data into an LLM and asking for discrete values with accuracy is difficult. With Parquet, there are some advantages.

Specific Parquet Row Value

Revisiting Split()

I no longer want Split(). I want a feature to perform inline inferencing against a blistering fast LLM such as PaLM 2.

Let’s take the list of values we created for Stephen’s case and parse it into an actual array.

Splitting the Parquet Row Value into an Array

The Feature to End all Features?

Certainly, there are many ways to extract these values either through script or a formula if Airtable gets around to it. This article is not about any particular methodology for managing or working with data. Rather, it’s about the possible future of platform features.

This example demonstrates that vendors should think carefully about how to implement new features because it may be possible to end the feature request madness by simply adding one feature - ai().

Can it be that simple? Hardly, but developers and platform vendors should consider how AGI will transform platform architectures.

The Airtable Script

This is the Airtable script in full for these examples.

Keep reading with a 7-day free trial

Subscribe to Impertinent to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Bill French
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More