【问题标题】:Split date_start and date_end by hours on Metabase在元数据库上按小时拆分 date_start 和 date_end
【发布时间】:2022-01-16 08:36:44
【问题描述】:

我有一个表格,其中有一列“开始于”和另一列“结束于”,表示任务何时开始以及任务何时结束,我希望有一个条形图显示正在完成的任务数量沿时间间隔的特定小时。

例如,从下表中

我希望能够看到从 07/12/2021 21:0007/12/2021 22:00 有 3 个任务正在完成(第 1 行、第 2 行、第 3 行)。

而且由于我将有数千行,我想使用元数据库中的日期小部件来指定时间范围。

从上周开始,我一直在努力解决这个问题,我试图创建辅助问题在哪里查询,但最后我唯一的成功是硬编码一天中的 24 小时,但后来我无法使用时间小部件每次我想检查特定日期时,我都需要自己在 sql 上指定日期,而且我只能检查 24 到 24 小时,而不是例如 02/12/2021 6:00 到 04/12 /2021 18:00

我的元数据库在 PostgreSQL 数据库上运行。这在元数据库上是否可行?如果不是,您对构建这个有什么建议?其他平台?纯 SQL?蟒蛇?

非常感谢

【问题讨论】:

    标签: sql postgresql metabase


    【解决方案1】:

    我不确定metabase,但从PostgreSQL的角度来看,这需要使用range-types,特别是tsrange/tstzrange,这取决于您是否有时区信息。

    所以查询可能是:

    SELECT
        *
    FROM "someTable"
    WHERE
        tsrange("Begin At", "End At", '[)')
        &&
        tsrange('02/12/2021 6:00', '04/12/2021 18:00', '[)')
    

    但是我不知道您将如何获得 '02/12/2021 6:00''04/12/2021 18:00'您的元数据库用户界面。

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2018-03-28
      • 2018-07-23
      • 2017-02-09
      相关资源
      最近更新 更多