【问题标题】:Finding difference between two dates in Tableau in terms of days, rounded to two decimals在 Tableau 中以天数计算两个日期之间的差异,四舍五入到小数点后两位
【发布时间】:2019-05-31 09:31:06
【问题描述】:

我想在 Tableau 中减去两个日期字段,然后求出天数的差异,四舍五入到小数点后两位。我已经创建了一个计算字段,但是结果被四舍五入到最接近的整数。

我目前的计算字段是这样的:

DATEDIFF('day', [Reg Time], [Valid Time])

返回结果如下:

Reg Time           |   Valid Time          | Datediff
11/1/2018 12:00 AM    11/1/2018 1:00 PM          0

我想要的是这个:

Reg Time           |   Valid Time          | Datediff
11/1/2018 12:00 AM    11/1/2018 1:00 PM          .5

datediff 将返回 0.50 的结果,因为差异是 12 小时(半天)

非常感谢所有帮助。

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    我假设您正在使用数据类型为 datetime 而不是 date 的字段。否则,整个天数的结果将与将要获得的结果一样好:-)

    日期是复合数据类型,具有内部结构。每个日期都包含三个组成部分:年、月和月中的某日。日期字段在侧边栏数据窗格中的字段名称旁边有一个日历图标。

    日期时间也是复合数据类型,并添加了三个附加组件:小时、分钟和秒。日期时间在其图标中的日历符号上添加了一个小手表。

    因此,如果您的数据源确实有日期时间数据,并且 Tableau 数据类型设置为日期时间,那么以下计算会得到您要求的效果 - 显示以天为单位测量的差异或持续时间。

    DATEDIFF('hour', [Reg Time], [Valid Time]) / 24
    

    DATEDIFF('minute', [Reg Time], [Valid Time]) / (24 * 60)
    

    此计算在制作甘特图时很有用,因为在这种情况下,尺寸架上的字段被假定为以天为单位。

    【讨论】:

      【解决方案2】:

      DATEDIFF 函数将适用于您,但是“日期”部分将四舍五入。使用 DATEDIFF 函数中的“小时”日期部分解决此问题。

      然后,您需要将此计算的结果除以 24(一天中的小时数)以获得一天的分数。

      您需要做的最后一件事是确保不要聚合这些值,Tableau 默认会尝试这样做。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 2012-05-09
        • 1970-01-01
        • 2017-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多