Table Rollup merges Markdown tables from many notes into one

All the rows from the small tables in your notes, in one sortable table that links back to each note.

MIT · no telemetry · core features free

A base view named Action items shows 64 rows from 20 notes in one table, with Source, Task, Owner, Hours, Status and Due columns.
Open larger
version
1.0.3
released
downloads
10
review
Passed
health
Excellent
license
MIT
platforms
Desktop, Mobile
obsidian
1.13.4 or later

Directory facts fetched from community.obsidian.md/users/theluckystrike.

About Table Rollup

You keep a small table under the same heading in many notes, such as action items in meeting notes or expenses in daily notes.

Table Rollup shows the rows of all those tables together, with a Source link to the note each row came from. It matches columns by name, so the tables don't need the same column order. Your data stays in your notes.

It's a view for the core Bases plugin. The base selects the notes, and Table Rollup draws one merged table from their tables. It only reads your notes, and it uses only the public Bases API for plugins.

A base of 20 meeting notes shown as one merged table, sorted by hours, then grouped by owner with subtotalsPlay demo

Free features

One table from many notes

Each note in the base gives the rows of its table under the heading you choose. The merged table matches columns by name, so Owner in one note and owner in another share a column. A Source column links to each note.

Merged table of 64 action items from 20 meeting notes with a Source column.
Open larger

Sort by any column

Click a column header to sort, click again to sort the other way, and a third time for the note order. Numbers sort as numbers. Empty cells stay at the end.

The merged table sorted by the Hours column, largest first.
Open larger

Live update and embeds

Edit a source note and the merged table draws again after a short delay. You can embed the view in any note with a normal embed link, for example in a weekly review.

The merged table embedded in a weekly review note.
Open larger

The free version merges tables from up to 50 notes that have rows, and the table says how many notes it left out.

Pro features

Pro costs $5 a month or $15 one time through GitHub Sponsors. One sponsorship turns on Pro in all 15 plugins.

Summary rows and group subtotals Pro

Add a summary row with the sum, average, count, smallest or largest value of each column. Values such as $1,200.50 and 12 % count as numbers. Group the rows by any column, or by Source, to get a subtotal for each group.

Rows grouped by owner, with a subtotal of hours at the end of each group.
Open larger

Filter rows Pro

Keep only the rows where a column contains, equals or does not equal a value. You can also keep rows where a number is larger or smaller than a value. The summary row then adds up only the rows that are left.

Only rows whose status is not done, with the open hours summed.
Open larger

Task list rollup Pro

Set Read to Tasks to collect the task list items under a heading instead of a table. The merged table has the columns Task, Done and Due. Due comes from a date after the calendar emoji, the format the Tasks plugin writes.

Follow-up tasks from ten meeting notes with done state and due date.
Open larger

Export to a note or CSV Pro

Export the merged table, with its filter and sort, to a new Markdown note or a CSV file. The Markdown table links each row back to its source note and ends with the summary row.

A new note that holds the exported Markdown table with source links.
Open larger

Set up Table Rollup

needs

  • Obsidian 1.13.4 or later
  • The core plugin Bases, turned on

steps

  1. Create or open a base, and set its filters so it selects the notes with your tables, for example a folder or a tag.

  2. Open the view menu in the base toolbar and add a view of the type "Table rollup".

  3. Open the view options and type the heading above your tables in "Under heading", for example Action items.

  4. Leave "Under heading" empty if you want the first table of each note.

Why this exists

Dataview issue 555, which asks for Markdown tables as a data source, has been open since October 2021 with 82 reactions. Two forum topics that ask how to join tables from several notes have no answer.

How to merge Markdown tables from many notes in Obsidian

How it compares

Dataview
Dataview reads properties and inline fields, not Markdown tables.
SQLSeal
SQLSeal can read a Markdown table, but you write one table line for each file and then SQL to join them. You edit the query for each new note.
Block View
Block View lists matching blocks from many notes and can show only matching table rows. It shows each table on its own, without merged columns, column sort or totals.

Questions about Table Rollup

Can Dataview query Markdown tables across notes?

No. Dataview reads properties and inline fields, not Markdown tables. The request for tables as a data source has been open since 2021 as Dataview issue 555.

Does Table Rollup change my notes?

No. It only reads notes. Export creates a new file and doesn't touch the sources.

Which table does it use when a note has more than one?

It uses the first table under the heading you set, including tables in sub-sections. The "Which table" option can pick the second, the third or all tables under that heading. Tables in code blocks and in the front matter are ignored.

How fast is Table Rollup with hundreds of notes?

In the end-to-end test with 500 notes and 2,000 rows, a full draw took 15 to 164 ms on an M3 Pro Mac. Table Rollup skips notes that have no table. It also keeps parsed tables until a note changes.

Network use

Table Rollup makes no network requests until you select "Sign in with GitHub", which uses the GitHub device flow with the read-only scope read:user. After sign in, it asks GitHub about your sponsorship at most once every 7 days, or when you select Refresh. It sends no note content, file names or other vault data, and it has no telemetry.

Read the full network disclosure

Table Rollup 1.0.3, MIT license

MIT · no telemetry · core features free