Problem similar to this forum post.
I have moved from typoria/vim/marktext and would like to start taking advantage of obsidian plugins like dataview. I would like some help getting dataview to automate some of the things I have been doing manually with copy paste to start using daily notes.
Current workflow
Currently I make a weekly note (eg 2024-W13) with the days as h1 headings (eg “# 2024-03-26”) and record daily project work hours along with invoices for that day and other work events.
I would hunt trough the weekly notes and copy paste the project hours into the project note and manually add up the hours. I also currently use the search tool to find most things.
Currently under the day heading I would have:
- Project A (hours as number)
- Done abc
- Done xyz
- Project B (hours as number)
- Done something
What I’m trying to do
The plan is to have the above list in a daily note under the heading Projects. Then the repeated info in the weekly summary and project files would be pulling form the daily notes.
Weekly Summary
The weekly/monthly summary would need the total hours per project, bonus would be adding the tasks.
Project | Date | Task | Hours |
---|---|---|---|
Project A | 2024-03-26 | Done abc Done xyz |
X |
Total | SumX | ||
Project B | 2024-03-26 | Done Something | y |
Project B | 2024-03-27 | Done stuff | y |
Project B | 2024-03-28 | Done things | y |
Total | SumY |
Project Summary
The project summary would need a copy of the tasks and the date they were done. If possible a separate dataview with total hours?
Date | Task | Hours |
---|---|---|
2024-03-26 | Done abc Done xyz |
X |
2024-03-27 | Something important | X |
2024-03-26 | Done Something | X |
Total hours SumX
Things I have tried
Using dataview I am able to get the list under the heading but am not able to parse the nested list. When I flatten the list, the nesting appears to be lost. Can you treat a nested list as an nested array? where list[0] would be the first project and list[0][0] is the first item of project 1? I wrote out some regex expressions to get the relevant fields but am having an issue writing a query to use them.
Hours:
(\d+)(?!.*\d)
Project:
^(?:\S)+\s(.+?)\s+(?:\S+)$
Tasks:
^(?:\t)+\S+\s(.+?)$