У меня есть отчёт Data Explorer с двумя параметрами даты, имеющими жёстко заданные значения по умолчанию.
-- [params]
-- date :start_date = 2024-12-01
-- date :end_date = 2025-01-01
Жёстко заданные значения по умолчанию работают для большинства типов параметров, но для параметров даты я бы хотел иметь возможность устанавливать динамические значения, например, понедельник текущей недели как начальную дату и пятницу текущей недели как конечную дату:
-- [params]
-- date :start_date = cast(date_trunc('week', current_date) as date) + 0
-- date :end_date = cast(date_trunc('week', current_date) as date) + 4
^ это, конечно, не сработало.
Я очень хотел бы сохранить тот же отчёт с этими открытыми параметрами даты, чтобы при необходимости мог продолжать запускать его вручную для разных дат. Но также я хочу использовать тот же отчёт с плагином Automation для периодических обновлений постов в теме с помощью функции «Планирование публикации в теме по результатам Data Explorer».
Есть ли какие-либо предложения, как этого можно достичь?
Я бы сказал, что вам нужно «форкнуть» отчёт: создать один специализированный отчёт, который корректно смещается относительно текущей даты для Data Explorer, а второй — для ручного использования.
Я понимаю, что наличие копий немного раздражает, но это, кажется, самое простое решение.
Если количество станет большим, отличным решением будет использовать API Discourse для его настройки и хранение исходного кода в GitHub. Таким образом вы также сохраните историю изменений и избежите необходимости вручную создавать форки.
Сработает ли перенос значений по умолчанию в запрос и их использование до тех пор, пока не выбрана дата? То есть что-то вроде этого:
-- [params]
-- null date :start_date
-- null date :end_date
SELECT id as topic_id, created_at
FROM topics
WHERE created_at > COALESCE(:start_date, CAST(date_trunc('week', current_date) AS DATE))
AND created_at < COALESCE(:end_date, CAST(date_trunc('week', current_date) AS DATE)+4)