Настройка кода в плагине Dataview в Obsidian для подсчёта суммы данных в заданном временном интервале
Настройка кода в плагине Dataview в Obsidian для подсчёта суммы данных в заданном временном интервале
Здраствуйте! У меня возник вопрос по использованию плагина Dataview в Obsidian. Мне нужно настроить код для подсчёта суммы данных в определенном временном интервале, например, между 11 августа 2023 года и 11 октября 2023 года. Как это можно реализовать?
Вот основной код где нужно изменить или добавить:
TABLE WITHOUT ID
sum(number(rows.budget_g)) + " t" AS "Summa"
FROM #sss1
GROUP BY true
Это отделньные файлы:
---
date: 2023-02-02T16:58:13+06:00
budget_g: 25000
tags:
- sss1
updated: 2024-01-03T17:24:51+06:00
---
---
date: 2023-04-02T16:58:35+06:00
budget_g: 23000
tags:
- sss1
updated: 2024-01-03T17:24:47+06:00
---
---
date: 2023-09-11T22:53:27+06:00
budget_g: 27000
tags:
- sss1
updated: 2024-01-03T17:24:49+06:00
---
Ответы (1 шт):
Примерно как в SQL, через WHERE (диапазон дат взял такой, чтобы ваши примеры заметок попадали):
TABLE WITHOUT ID
sum(number(rows.budget_g)) + " t" AS "Summa"
FROM #sss1
WHERE date >= date(2023-01-01) and date <= date(2023-04-31)
GROUP BY true
Попадают первая и вторая заметки, сумма 25000 + 23000 = 48000:
Но чтобы корректно граничные дни попадали (в примере выше заметка с датой 2023-04-31 попадет в диапазон только если время будет ровно 00:00:00.0), нужно конвертировать в строки вида yyyy-MM-dd (важно именно такой формат использовать - числовой от года до дня, чтобы строки-даты корректно сравнивались), и сравнивать даты как строки:
TABLE WITHOUT ID
sum(number(rows.budget_g)) + " t" AS "Summa"
FROM #sss1
WHERE dateformat(date, "yyyy-MM-dd") >= "2023-01-01"
and dateformat(date, "yyyy-MM-dd") <= "2023-04-02"
GROUP BY true
Вывод такой же, дата 2023-04-02 в расчет попадает.

