我想在Tableau转换字符串到目前为止。字符串如下所示:
2014年6月26日,星期四上午8:11:46
我试着使用Dateparse,但是我得到了Null值:
DATE(DATEPARSE("dd/MMMM/YYYY",[Posting Date]))发布于 2016-02-12 16:04:04
你需要去掉一些额外的东西,比如平日的名字,闹钟,时区等等。
所有这些都可以简单地按照下面的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 发布于 2016-02-12 16:14:06
没有一个简单的单行方法可以做到这一点,我可以看到。我创建了字段,用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]
下面是一个例子
有一点要注意的是regex并不适用于Tableau的所有数据源。
https://stackoverflow.com/questions/35365686
复制相似问题