I have several book summaries which have ‘datestarted’ and ‘datefinished’ metadata In YAML like this.
datestarted: 2023-03-07
datefinished: 2023-03-15
I’d like to show the reading durations for each book.
Things I have tried
TABLE
rows.file.link as "Title",
rows.author as "Author",
rows.rating as "☆",
date(rows.datefinished)-date(rows.datestarted) as "Duration"
FROM #book/finished
GROUP BY dateformat(datefinished,"yyyy") as Year
Without Duration part, it works well.
But, I can’t figure out how to calculate the duration between datefinished and datestarted.
I found the following topic to calculate durations with no success.
The trick is to move it out of the column definition part, and into a FLATTEN part, before the grouping. So try something like the following:
```dataview
TABLE
rows.file.link as "Title",
rows.author as "Author",
rows.rating as "☆",
rows.dur as "Duration"
FROM #book/finished
FLATTEN
date(datefinished)-date(datestarted) as dur
GROUP BY dateformat(datefinished,"yyyy") as Year
```
Update: corrected placement of FLATTEN to be after FROM
For me, it worked well after exchanging the sequences between FLATTEN and FROM.
Before exchange,
I’ve got an error - Dataview: Unrecognized query operation ‘tag’