Настройка кода в плагине 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 шт):

Автор решения: insolor

Примерно как в 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 в расчет попадает.

→ Ссылка