我正在使用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
ISDATE("May 10, 2019")
(普通字符串)时,它按预期输出TRUE
,但是当我检查ISDATE(CheckrTime)
时则输出FALSE
。 为什么? DATEDIFF
功能: DATEDIFF('day', DATE(CheckrTime), TODAY()) == 0
NOTE
答案 0 :(得分:0)
这对我有用。我期望5月10日> 5月16日(今天),因此返回false。但是,当我将您的示例更改为今天的日期时,它实际上又恢复了原样。
您也可以在日期LEFT([rTime],FINDNTH([rTime],' ',3))
尝试使用此公式。稍微复杂些,但是会给您相同的答案。
答案 1 :(得分:0)
计算字段(日期类型)取决于所使用的语言环境,该语言环境定义了日期格式。您可以使用日期功能吗?
在Tableau网站上有一个使用英语语言环境的示例 对于字符串06May2017 DATE(LEFT([原始日期],2)+“ /” + MID([原始日期],3,3)+“ /” + RIGHT([原始日期],4))
上面提到的数字之间的高亮字符/字符取决于语言环境