Tabular data meets AI

Title image for the article that shows tabular data meets AI.

We recently announced a huge release, adding tables to Quadratic. Data is represented as a Table whenever a CSV is imported, tabular data such as DataFrames are output from Python, or when users manually turn sheet data into a structured table. Tables receive names, can be sorted, and much more. Tables are the default method of working with data in Quadratic because they’re much easier to use, especially with larger datasets.

Table data is dynamic, meaning that as the data changes, the dependent cells can also change and instantly reflect these updates.

Tables make references seamless

The most exciting element of Tables in Quadratic is how much easier they make references in code (Python, JS).

With table references, all you have to reference is the table name, and as the table shrinks or grows, the reference remains valid. Additionally, headers are a native concept to tables, so you don’t need to define if the first row is a header or not:

q.cells(’TableName’)

Take the old way of referencing before Tables existed. Maybe you’d reference the full range of data with a reference like:

q.cells(’A1:B32’, first_row_header=True)

That cell reference required knowing the locations of the data; as the data changed, your cell reference might become invalid. Instead, you might use:

q.cells(’A:B’, first_row_header=True)

As data gets added or removed vertically, the reference remains valid, but what if the data expands or shrinks horizontally? All of a sudden that reference is missing that new column of data.

Table references represent the most simple and scalable way to build references in your code.

AI understands tables

Just as tables make references significantly easier for humans, they also give AI a much better understanding.

Understanding tabular data before required complex work to pass data in the spreadsheet that appeared tabular. The logic was relatively simple - take chunks of cells that appear grouped and pass those together as related data to the AI.

But what happens when data has clumps of missing cells? Suddenly it becomes difficult to accurately pass the correct data to AI or communicate to AI which chunks are part of the same dataset. We often send the first three rows of a chunk of data and do not pass anything else. But when datasets have holes, you’re suddenly sending lots of groups of 3 rows because you don’t understand which gaps are just missing data vs an entirely different dataset.

With tables, there’s now a defined space in which data lives, and we can pass the relevant data, schema, and table name to the AI with high confidence that the AI will know how to work with that data. Gaps in data as part of a table represent no confusion about whether they’re part of that table.

This also gives AI a clean format to output data. AI is often used for research, augmenting data, and finding novel insights to display on the sheet. With tables, AI can plan out the output format and give a clear structure to data on the sheet. Users can then interact directly with the tabular data or push AI to deliver its own unique insights.

Giving AI tool calls to work with tables

As we become more confident in AI’s use of tables, we’re adding more supported tool calls for AI to interact with new and existing table setups.

Insofar as clean features exist in Quadratic, AI can usually interact cleanly with them. The better designed a feature, the easier it is for AI to find success interacting with it.

A clear example is inserting columns and rows to a table: AI performs excellently at inserting columns to the right and rows to the bottom, but only because a lot of attention has been paid so far to this use-case (users typically want to add data to the right or the bottom; to the top, left, or the middle are more rare). We’ll add inserting columns and rows anywhere in the table eventually, but AI won’t be able to figure those out until we’ve added that functionality to the sheet.

Designing features with AI in mind

In a world where AI is becoming a default mode of work, we must design every feature with AI in mind. How can we best design simultaneously intuitive features for manual usage that are easily exposable to AI? We’re not far from a future where AI can also perform everything possible by a user in Quadratic. The beauty of spreadsheets is how flexible they are; AI should add to this flexibility, not detract from it.

These are the types of questions we seek to answer daily at Quadratic.

How can we simultaneously make a single feature:

  • Intuitive for the user who performs it manually
  • Intuitive for AI to understand how to perform
  • Intuitive for users to know how to prompt AI to perform that feature

Interested in improving your data workflows with tables + AI? Try Quadratic today.

Quadratic logo

The spreadsheet with AI.

Use Quadratic for free
  • SpreadsheetSimple illustration of a spreadsheet application
  • +
  • CodeSimple illustration of a notebook application
  • +
  • ConnectionsSimple illustration of a spreadsheet dashboard