Time Tableau-查找两个柱之间的时差

Time Tableau-查找两个柱之间的时差,time,tableau-api,Time,Tableau Api,我有两列数据: +-------------------------+-------------------------+ | StartTime | FinishTime | +-------------------------+-------------------------+ | 2015.09.06 12:56:03 GMT | 2015.09.06 12:56:30 GMT | | ...

我有两列数据:

+-------------------------+-------------------------+
| StartTime               | FinishTime              |
+-------------------------+-------------------------+
| 2015.09.06 12:56:03 GMT | 2015.09.06 12:56:30 GMT |
| ...                     | ...                     |
+-------------------------+-------------------------+
我想要另一列来计算持续时间


我在Tableau中使用了DataDiff函数,但是我得到了一个错误。

根据您显示的数据,我猜您想要时间之间的秒差。使用
DATEDIFF()
是正确的。(我注意到你说的是DATADIFF,非常小心,你使用的方法是正确的。)

使用以下计算字段:

DATEDIFF('second', [StartTime], [FinishTime])
如果我在你想要的时间单位上猜错了,请相应地调整第一个参数


编辑以处理评论: 如果Tableau无法将
StartTime
EndTime
自动解析为日期时间,则可以使用
DATEPARSE()

至于以小时、分钟和秒为单位显示持续时间,
DATEDIFF()
只返回一个数字,因此您必须自制一些东西。您需要创建自己的函数,以便可以根据需要设置持续时间的格式,但这里有一个快速示例,它将持续时间显示为“hh:mm:ss”(您需要创建一个如上所示的计算字段,以便首先查找以秒为单位的持续时间):


在每一行上,将持续时间(以秒为单位)除以适当的除数,以转换为小时、分钟或秒。然后你将
FLOOR
该数字转换为小数。要处理单个数字,请将“0”连接到每个数字的前面,然后获取结果字符串的右两个字符。(
RIGHT('027',2)
产生
'27'
,而
RIGHT('04',2)
产生
'04'

以下将给出一个输出(持续时间:1h 2m 11s)

“(持续时间:”+
STR(上限(日期差('minute'),[开始日期],[结束日期])/60)-1)+“h”+ STR(日期差异('分钟',[开始日期],[结束日期])- ((上限(日期差异('分钟',[开始日期],[结束日期])/60)-1)*60)+“m”+
STR(DATEDIFF('秒',[开始日期],[结束日期])%60)+“s)”


我想在小时,分钟和秒。。。这可能吗??开始时间和结束时间是字符串格式。当我试图更改数据类型时,该列只返回空值。Dateparse函数未正确转换。有谁能指定如何将此函数转换为DateTime函数,以便我可以使用DateDiff@blackfury,你所有的时间都是格林尼治标准时间吗?
DATEPARSE("yyyy.MM.dd hh:mm:ss", [StartTime])
RIGHT('0' + STR(FLOOR([Duration in Seconds]/60/60)), 2) + ':' + 
RIGHT('0' + STR(FLOOR([Duration in Seconds]/60)), 2) + ':' + 
RIGHT('0' + STR(FLOOR([Duration in Seconds])), 2)