If I’m understanding you correctly, I think I do something similar to track my book reading progress. I log my book reading progress in my daily note, with a [[link to bookname]] and then use dataview to also list all the progress entries inside the note for the book.
on my daily page, I’ll have something like this:
## Reading
* [[Tomorrow and Tomorrow and Tomorrow _ Gabrielle Zevin]] - 20%
really enjoying this book so far! the perspective changes... (paragraph snipped)
(I’m not sure it’s obvious above, but I do the four spaces thing to nest a paragraph under the bullet point.)
Then on the page for the book itself, I have this dataview query
```dataview
LIST
regexreplace(replace(L.text, "[[" + this.file.name + "]]", ""), "^[ :-]*", "")
FROM [[]] and "Log"
flatten file.lists as L
WHERE meta(L.section).subpath = "Reading" and contains(L.text, this.file.name)
sort file.name
```
I think for you, you would replace the check I’m doing for the section heading = Reading with a check for the tag instead. The replace and regex business is just so I don’t wind up repeating the [[link to bookname]] inside the note for the book, and also to shave off some inconsistent formatting I’ve used over time. What displays on my book page is something like this:
* 2023-06-09: 20%
really enjoying this book so far! the perspective changes... (paragraph snipped)
(with a link back to the original daily note)
By the way, I couldn’t figure out a way to do this using dataview without using list items (and nesting paragraphs under the list item). I think because dataview indexes list items, but won’t necessarily index other blocks of text? (The future version of dataview, datacore does mention supporting queries at the section and block level though.)
Hope this gives you some ideas!
If I didn’t have a work Windows machine, I’d still be using iCloud to sync.
There is an education and non-profit discount that knocks 40% off Obsidian Sync, if you happen to qualify.