我有一个字符串201604
,我希望输出为April 2016
我尝试了以下代码
DATEPARSE ("ddMMMyyyy" , [Original Date])
但是我得到1 1 1899
答案 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理解的格式获得日期后,您可以使用“默认格式:日期格式”菜单(右键单击日期变量的丸来获取此项)并设置您想要的任何格式。