Manage date/milestones using dataview

Hello,

What I’m trying to do

I’m trying to use dataview inline fields to quickly note everywhere an important date/schedule. For example in a page listing what I read and thinking about a new book i want to read (something I don’t take care of every day, but still want to track) I add

Schedule:: Release of new book 2022-09-01

Then on my daily notes for Sept. 1st, I could make a query checking for the date and Display only the text part.

Issues

I found to make it work using the following format (using the split() function)

Schedule:: Text of Event | <YYYY-DD-MM>

But it doesn’t work if the field is duplicated, eg.

Schedule:: New Book 1 | Date1
Schedule:: New Book2 | Date2

Schedule then becomes an array and split() does not work anymore…

Other solution

One other easy solution is to use Obsidian Tasks and the “scheduled” property

  • [ ] #schedule release of New Book :hourglass_flowing_sand: 2022-09-01

It works as intended, and this is what I’m currently using (and will continue use if nothing better is available), but I find it less elegant as :

  • I don’t need to have a checkbox (this is a milestone, not a task)
  • It makes my “real” task querying harder (I need to exclude secheduled tasks, account for the right tags etc)

Question

Does anyone have a nice solution using dataview fields that could be used to track milestones, dates, and other birthdays ?

Thanks,

Indeed! However, you could perhaps FLATTEN Schedule AS "schedString" and then split(schedString...) where you were split(Schedule...) before. Note: I just made up the name “schedString”; you can replace it with whatever you want, just note that you have to do so in both the FLATTEN line and the split line.

I thought I read the full documentation for dataview but I missed that part (:man_facepalming:)
This is exactly what I needed to finish implementing this.

Thanks a lot

1 Like

Mikael - u mind posting the solution so we can see final result ? Thanks !

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.