gormus
(Osman Görmüş)
2025 年1 月 10 日 11:51
1
我有一个使用两个具有硬编码默认值的日期参数的数据浏览器报告。
-- [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
^ 这显然行不通。
我非常希望保留相同的报告,并使用这些公开的日期参数,以便在需要时可以继续手动运行报告以获取不同的日期。但我也想使用相同的报告,通过自动化插件,使用“使用数据浏览器结果安排主题帖子”来对某个主题进行重复的帖子更新。
有什么建议可以实现这一点吗?
3 个赞
sam
(Sam Saffron)
2025 年2 月 6 日 04:06
2
我倒是觉得你需要“fork”这份报告,一份根据当前日期为数据浏览器正确偏移,另一份用于手动使用。
我知道有副本有点烦人,但这似乎是最简单的解决方案。
1 个赞
gormus
(Osman Görmüş)
2025 年2 月 6 日 09:41
3
谢谢 Sam,这正是我希望避免的。但无论如何,这也是一个解决方案 : )
我预计未来几个月会创建大量报告。我们将看看维护这些“分支”会变得多么烦人。
1 个赞
sam
(Sam Saffron)
2025 年2 月 6 日 20:50
4
如果数字变得很大,一个很好的方法是使用Discourse API进行配置,并将源代码保存在GitHub中。这样,你也可以携带历史记录,避免手动分叉。
2 个赞
Moin
2025 年2 月 6 日 21:25
5
将默认值移到查询中,并在未选择日期时使用它们,这样可以吗?比如这样:
-- [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)
3 个赞
system
(system)
关闭
2025 年3 月 8 日 21:26
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.