在Tableau中将字符串转换为日期

时间:2016-02-12 14:59:16

标签: tableau

我想在Tableau中将字符串转换为日期。字符串看起来像这样:

  

2014年6月26日星期四08:11:46'时钟BST

我尝试使用Dateparse,但我得到Null值:

DATE(DATEPARSE("dd/MMMM/YYYY",[Posting Date]))

2 个答案:

答案 0 :(得分:2)

你需要删除工作日名称,o'clocks,时区等附加内容。

所有这些都可以简单地在regex下面实现。之后,您可以按dateparse

格式化
DATEPARSE("dd MMMM yyyy" , REGEXP_EXTRACT( [Date],'(\d+\s+\w+\s+\d+)' ))

解释正则表达式:

1. \d+ : extract one or more occurrence of numerical digits 
2. \s+ : extract one or more occurrence of space chars 
3. \w+ : extract one or more occurrence of alphabet chars 
4. \s+ : extract one or more occurrence of space chars 
5. \d+ : extract one or more occurrence of numerical digits 

答案 1 :(得分:0)

我可以看到一个简单的单行方式来做到这一点。我使用regex_extract创建字段以查找每个日期部分,然后使用dateparse()重新组装部件

日期
    REGEXP_EXTRACT([Value], '([0-9]{2})')

日期月
REGEXP_EXTRACT([Value],'(January|February|March|April|May|June|July|August|September|October|November|December)')

日期年
    REGEXP_EXTRACT([Value], '([0-9]{4})')

日期解析
    DATEPARSE("dd/MMMM/yyyy", [Date Day]+"/"+[Date Month]+"/"+[Date Year]

Here is an example

需要注意的一点是,正则表达式不适用于Tableau中的所有数据源