转换日期格式qlikview

时间:2017-02-06 03:00:30

标签: qlikview

我的约会对象是2017年1月31日。我希望将其格式化为31-Jan。我该怎么做?

这不起作用。有一个错误。

=date(date#(=maxstring({[Date1]} [DATE]),'DD/MM/YYYY'), 'DD-MMM') 

2 个答案:

答案 0 :(得分:2)

函数Date#()根据格式代码给出的字符串将表达式作为日期返回。如果省略格式代码,则使用操作系统中设置的default date format

<强>语法: -

Date# (text [, format])

之后使用Date函数将其转换为日期。我们来看下面的例子: -

示例: -

=Date(Date#('16JAN2014','DDMMMYYY'))

上面我们使用日期#和日期函数转换了日期到日期的字符格式。

您的示例:

我很困惑你在这做什么。只需检查(=maxstring({[Date1]} [DATE]),'DD/MM/YYYY')并检查Date1是否匹配'DD / MM / YYYY'格式。

并将其设为日期转换格式。

=date(date#( (=maxstring({[Date1]} [DATE]),'DD/MM/YYYY') , 'DD-MMM')) 

答案 1 :(得分:0)

解决方案也取决于您的源数据。 如果源中的数据格式是日期,那么它将被QlikView读取为日期,转换很简单。

解决方案:日期(日期,&#39; DD-MMM&#39;)作为日期

如果源中的数据格式不是日期格式,而是文本,那么您需要使用subfield()函数将文本字符串分成几部分并告诉每个部分它是什么。您可以使用日期#()函数将其括起来,告诉您必须将这些文本解释为日期。最后,在此处执行一个简单的日期格式化函数date()以使其成为DD-MMM格式。

解决方案:日期(日期#(子字段(日期,&#39; /&#39;,1)&amp;子字段(日期,&#39; /&#39;,2 )&amp; subfield(Date,&#39; /&#39;,3),&#39; DDMMYYYY&#39;),&#39; DD-MMM&#39;)as Date

如果您的月份大写很重要,您可能需要在脚本中检查指定MonthNames的初始SET语句:

SET MonthNames =&#39; jan; feb; mrt; apr; mei; jun; jul; aug; sep; okt; nov; dec&#39;;