【问题标题】:Tableau cannot recognize timestamp field in my log fileTableau 无法识别我的日志文件中的时间戳字段
【发布时间】:2016-08-27 09:08:41
【问题描述】:

我正在使用 Tableau 9.3 对我的一个日志文件进行初步数据分析,日志文件如下所示:

"199.72.81.55",01/Jul/1995:00:00:01,/history/apollo/,200,6245,Sat

如您所见,时间戳有一个日期时间

在 Tableau 中,最初它被识别为如下字符串:

没关系,我想把字段改成datetime,Tableau好像失败了:

为什么?我该如何解决?

非常感谢。

更新:应用下面建议的公式后,Tableau 仍然无法识别时间戳,这是屏幕截图:

再次更新:经过 nick 测试,确认他的第一个脚本是正确的,并且在他的 Tableau 上工作,为什么它在我的 Tableau 上失败,我不知道,欢迎您分享任何线索,谢谢。

【问题讨论】:

    标签: tableau-api type-conversion


    【解决方案1】:

    Tableau 隐式转换仅限于更标准的格式。您仍然可以使用具有以下公式的计算字段从时间戳字符串创建 DATETIME 字段:

    DATEPARSE('dd/MMM/yyyy:HH:mm:ss',[timestamp])

    使用上述方法会将01/Jul/1995:00:00:01 之类的字符串转换为7/1/1995 12:00:01 AM 的日期和时间

    使用示例数据输出:

    【讨论】:

    • 谢谢,仍然显示为空,我已更新 OP 以发布屏幕截图
    • 您的数据集中时间戳值后面是否有空格?如果没有考虑到所有字符,它将返回 null
    • 不,没有尾随空格,我已经仔细检查了原始 csv 文件。我也试过这个:DATE (LEFT([timestamp],2) + "/" + MID([timestamp],3,3) + "/" + MID([timestamp],7,3))
    • 当你做这样的事情时会发生什么(忽略时间)?:DATEPARSE('dd/MMM/yyyy',LEFT([timestamp],11)) 这有效吗? (这只是为了测试 - 我知道你还需要时间)
    【解决方案2】:

    有时 Tableau 中的“日期解析”功能并不能很好地完成这项工作。

    发生这种情况时,值得使用时间戳字段测试手动字符串操作,将其转换为 ISO 标准格式,然后再尝试将其转换为日期。 ISO 格式为 yyyy-mm-dd hh:mm:ss(例如 2012-02-28 13:04:30)。通常会发现原始字符串具有抛出 dateparse 的虚假字符或空格。但是这些通常很容易通过适当的文本操作来操作。这有时可能很冗长,但它总是有效的。

    【讨论】:

      【解决方案3】:

      原来是地区设置问题,换到美国后就可以了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-24
        • 2020-12-29
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2018-05-10
        相关资源
        最近更新 更多