如何在Stringau中将String转换为日期格式?

时间:2016-11-17 09:12:01

标签: tableau tableau-server

我有一个字符串201604,我希望输出为April 2016

我尝试了以下代码

DATEPARSE ("ddMMMyyyy" , [Original Date])

但是我得到1 1 1899

3 个答案:

答案 0 :(得分:1)

尝试1.5小时后我得到了答案

   DateParse("yyyyMM", [Original Date])

或者如果您想要2016年9月(当月的3个字母)

left(datename('month',DateParse("yyyyMM", [original date])),3)

拿起前三个字母。

答案 1 :(得分:0)

要转换原始日期字符串,您需要执行以下操作:

假设您的原始日期是03Jan2016,您需要以一种它理解的方式告诉画面,当前字符串的格式如何,这样做是这样的:

LEFT (First 2 letters), MID(mid3 letters), Right(last 4 letters).

DATE (LEFT([Original Date],2) +
 "/" MID([Original Date],3) + "/" + RIGHT([Original Date],4))

现在将此匹配作为您当前的日期,它应该没问题。

如果它不了解您当前的日期格式,它会为您提供最早的日期。

这也可以在他们自己的知识库文章中找到: http://kb.tableau.com/articles/knowledgebase/fixing-date-fields

答案 2 :(得分:0)

Dateparse不会将转换日期的日期格式化为Tableau格式。指定格式的字符串应指定日期来源的格式,而不是日期结果(这与桌面的内部日期格式无关)。

转换为Tableau可以理解的格式后,您可以按照所需的方式格式化日期,并使用Tableau中用于操作日期的所有内置功能来操作日期。

尽管您没有在原始日期字符串中指定一天,但如下所示正确执行此操作会将您的字符串转换为2016年4月1日的值,您可以根据需要进行格式化:

Dateparse("yyyyMM",[Original Date])

以Tableau理解的格式获得日期后,您可以使用“默认格式:日期格式”菜单(右键单击日期变量的丸来获取此项)并设置您想要的任何格式。