【问题标题】:The difference in strings in TableauTableau 中字符串的区别
【发布时间】:2019-05-15 15:02:28
【问题描述】:

我使用的是 Tableau Server 版本 10.4.3
我有一个维度rTime,它具有字符串值。 rTime 中的条目是这样的
May 10, 2019 8:59:56.303 PM UTC
我想检查rTime 是否是今天。我不能使用DateParse,因为我的服务器没有这个功能。

我创建了一个计算字段CheckrTime,内容如下:

STR(LEFT(SPLIT([rTime],':',1),LEN(SPLIT([rTime],':',1))-2))

当我将CheckrTime 拖入工作区时,输出格式如下:
May 10, 2019

  1. 当我检查ISDATE("May 10, 2019")(普通字符串)时,它按预期输出TRUE,但是当我检查ISDATE(CheckrTime)时它输出FALSE为什么?
  2. 我检查上述内容的原因是我希望以这种方式使用画面的DATEDIFF 函数:
   DATEDIFF('day', DATE(CheckrTime), TODAY()) == 0

NOTE

  • 如果有人想知道,我已经处理了粒度级别。
  • 如果您有比我所关注的更好的解决方案,请告诉我。

【问题讨论】:

  • 没有 Tableau 9.4 版本,顺便说一句。您必须使用不同的版本。
  • @tagyoureit 这是我的错误,我已将版本更新到有问题的 10.4.3。

标签: tableau-api


【解决方案1】:

这对我有用。我预计 5 月 10 日 5 月 16 日(今天),因此返回 false。但是,当我将您的示例更改为今天的日期时,它实际上确实返回了。

您也可以试试这个公式来计算日期LEFT([rTime],FINDNTH([rTime],' ',3))。它稍微不那么复杂,但会给你相同的答案。

【讨论】:

  • 这在我的服务器上不起作用。现在我认为它正在发生,因为我正在使用具有实时连接的 Tableau 服务器。您可能正在使用数据提取在 Tableau Desktop 上工作。虽然我不确定。
  • 它是桌面/服务器还是实时/提取无关紧要。你能在每次计算后发布一些图像或结果吗?仅仅帮助工作真的很难,“它不起作用”。
【解决方案2】:

计算字段(日期类型)取决于定义日期格式的语言环境。可以使用日期功能吗?

在 Tableau 网站上有一个使用英语语言环境的示例 对于字符串 06May2017 DATE (LEFT([原始日期], 2) + "/" + MID([原始日期],3,3) + "/" + RIGHT([原始日期],4))

上面提到的高亮/数字之间的字符取决于语言环境

【讨论】:

    猜你喜欢
    • 2017-01-29
    • 1970-01-01
    • 2020-11-23
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多