What I’m trying to do
I use Obsidian for meeting notes. When I have a recurring meeting, I use a single note and create a H1 level header with the date as a property. When the attendees of the meeting change, below the Date header, I add an Attendees property to capture who attends the meeting. I use the single note approach as it provides context and reference without having to have multiple notes open.
Each morning I create a note for each meeting, or add a new Date H1 header in my recurring meetings
Example meeting notes file
---
Type: Meeting
tags:
- "#Meeting/Recurring"
---
# Date:: 2025-03-14T09:00
Attendees:: [[John]], [[Paul]], [[George]]
*meeting notes*
# Date:: 2025-03-21T09:00
Attendees:: [[Paul]], [[George]], [[Ringo]]
*meeting notes*
# Date:: 2025-03-28T09:00
Attendees:: [[George]], [[Ringo]], [[John]]
*meeting notes*
I use Dataview to tabulate the upcoming meetings, including who is attending, so that I can be prepared for the meeting.
I’m struggling to create a table that shows the one upcoming meeting with just the list of the attendees to that meeting. It would be trivial if Dataview could reference the H1 header.
Things I have tried
This is my current attempt. It works, but the list of attendees is everyone who has ever attended the meeting, as opposed to the list of those attending the upcoming meeting. Every attendee has a dedicated note, with properties to define who they are, which are referenced in the query below.
TABLE WITHOUT ID firstvalue(rows.file.link) AS "Meeting",
dateformat(max(rows.Date), "ccc HH:mm") AS "When",
choice(contains(rows.file.frontmatter.tags, "Meeting/Recurring"), "Yes", "") AS "Recurring",
rows.Attendees AS "Who",
rows.Attendees.Companies AS "From",
rows.Attendees.Title AS "Role"
FROM !"Templates"
FLATTEN Date
WHERE Type = "Meeting" AND (max(Date) >= (date(now) - dur(1 h))) AND (max(Date) < (date(now) + dur(7 days)))
FLATTEN unique(flat(Attendees)) AS Attendees
GROUP By Date
SORT (rows.Date) ASC
Meeting | When | Recurring | Who | Role |
---|---|---|---|---|
Meeting | Fri 09:00 | Yes | George | The Beatles |
John | The Beatles | |||
Paul | The Beatles | |||
Ringo | The Beatles |
For the meeting dated 2025-03-28, Paul should not be listed.
I’ve tried using separate meeting notes for each meeting instance, and of course, the DQL is easy enough - but it breaks my workflow, so I’ve gone back to trying to solve this. Any suggestions?
Thanks
Alan