Almost. I think I’ll have to explain what I’m trying to achieve by also talking about the stuff apart from this query. Maybe there’s a better way to do things. So…
The Setup
I’m trying to use Obsidian as a hybrid for both note-taking AND task management. I don’t have project notes up to now, since I’m basically trying to organize my freelance writing gigs through this, in a “unified” setup. This way I’ll be able to tackle my tasks, time-manage my day, but also actually work on each task (since they’re basically articles, and Markdown’s great for that).
This means that I might have some tasks I have to do on a particular day, but also some notes that I’d have to check that day. Thus, I decided to use common front matter in both, and have both tasks and notes with due dates, priorities, and a Completed value (among other stuff).
Until recently I wasn’t using YAML front matter, and my “task management” was basically manually copying and pasting tasks from one day to another. Then, I decided I’d do it properly. I’ve went through all my notes and added some front matter values for better organization.
With front matter (theoretically) set up, I turned my attention to a) upgrading my daily notes to “pull” by tag and date everything I’d have to do each day, and b) create a dashboard where the rest of the tasks would appear, and embed it after the “primary task section” of each daily note. That’s where we’re currently at.
In my daily notes I have the following (note: I’m using “`` `” typed wrong intentionally, or it marks the blocks as code here as well):
### ⬜ Tasks
`` `dataview
TASK
FROM ""
WHERE (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (due=date(today) OR Due=date(today))
`` `
### 🗒 Notes
`` `dataview
LIST
WHERE (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (due=date(today) OR Due=date(today))
`` `
In the separate “tasks dashboard note” that I’m trying to create, I have separate sections for tasks that are:
Overdue
`` `dataview
TASK
FROM #tasks
WHERE (due < date(today)) OR (Due < date(today)) AND (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (due !=null) OR (Due !=null)
`` `
`` `dataview
LIST
WHERE (due < date(today)) OR (Due < date(today)) AND (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (due !=null) OR (Due !=null)
`` `
Upcoming
`` `dataview
TASK
FROM #tasks
WHERE (due > date(today)) OR (Due > date(today)) AND (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes"))
`` `
`` `dataview
LIST
WHERE (due > date(today)) OR (Due > date(today)) AND (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes"))
`` `
Priority: High
## 🟥 Priority: High
`` `dataview
TASK
FROM #tasks
WHERE (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND ((Priority = "High") OR (Priority = "high") OR (Priority = "hi") OR (Priority = 3))
`` `
`` `dataview
LIST
WHERE (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (Priority = "High") OR (Priority = "high") OR (Priority = "hi") OR (Priority = 3)
`` `
### Priorities: Medium and Low
Same as the above, with a simple word swap. Or two. Because, as I realized, the YAML and dataview queries combo is case-sensitive, and I want catch-all rules for when I absent-mindedly (or because I can't see crap without my glasses anymore) type "Completed" with a lowercase "c" when typing on my smartphone. Yay for shared Vaults between desktop and mobile.
## And we're at...
...the point where I'm tweaking and re-checking everything, while also trying to create four extra queries:
One should show "the rest of tasks" (but not notes, or it would list my whole vault). It currently looks like:
`dataview TASK FROM #tasks WHERE (!completed OR (Completed="No") OR (Completed="") AND !(Completed="Yes")) AND (!priority OR !Priority OR !due OR !Due) `
...because I haven't yet reached the point where I can filter-out the results from the previous queries, so, there's lots of repetition.
But also trying to create three more queries, about which this post is about, where I'm trying to list tasks and notes **not** listed with the queries above, based on the tags I'm using for particular people. So, they should show tasks and notes from, say, #people/mary, but NOT if those notes already appear under my Today or High/Medium/Low priority queries.
I think this should all make more sense now - while also make you wonder WTF I'm doing and why I'm not using X, Y, or Z better approach I probably don't know about :smiley: