【问题标题】:Date diff with milliseconds with Tableau SoftwareTableau Software 的日期差异(以毫秒为单位)
【发布时间】:2015-12-01 10:25:19
【问题描述】:

在 Tableau Desktop 中,我有两个日期维度,分别代表事件的开始日期和结束日期。要知道事件的持续时间,我会DATEDIFF('second', [begin date], [end date])

不幸的是,有些事件持续时间不到一秒,因此有许多零长度的持续时间。

我怎样才能获得更高的精度(毫秒就可以了)?

我的数据源是 Excel 文件。

【问题讨论】:

  • 您的日期维度的格式是什么?我通过拆分日期并计算 [minutes] * 60 + [seconds] + [Milliseconds] 解决了类似的问题,因此您可能能够适应它,并使用正常的 DATEDIFF() 加上单独计算的毫秒数
  • @Alexander 格式是源文件中的 Excel 时间戳(十进制数字),Tableau 将其解释为“日期和时间”。通过拆分日期,您的意思是在源中添加一个以毫秒为整数的列?
  • 我认为另一种解决方案是将日期读取为十进制数字(Excel 时间戳)并手动转换。
  • 好吧,如果您的时间戳以秒为单位,您显然无法计算毫秒。你能发布一个时间戳的例子吗?
  • @Alexander 实际上,Excel 将日期存储为数值,其中整数部分是从 1900 年 1 月 1 日开始的天数,小数部分是时间(天的小数部分)。例如,我有这个:42223,5986939005,看起来足够精确。

标签: tableau-api duration milliseconds


【解决方案1】:

尝试以下方法:

  1. 将列定义为浮点数
  2. 在计算字段中根据需要减去浮动日期
  3. 现在你得到了天数的差异,如果你想把它降低到毫秒,你可以[floatdate] * 24 * 60 * 60

如果您还需要正确日期格式的列,您可以将其与另一列中的计算字段一起复制并将其定义为日期。

【讨论】:

  • Tableau 支持人员告诉我,这是目前最好的解决方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多