【问题标题】:Convert date format qlikview转换日期格式 qlikview
【发布时间】:2017-02-06 03:00:30
【问题描述】:

我的日期格式为 31/01/2017。我想将其格式化为 31-Jan。我该怎么做?

这不起作用。有错误。

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

【问题讨论】:

  • 嘿,您能发布一个示例 csv 并告诉您使用“maxstring({[Date1]} [DATE]”)要实现的目标吗?
  • 错误是什么?可能是您没有正确通过日期

标签: qlikview


【解决方案1】:

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

语法:-

Date# (text [, format])

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

示例:-

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

上面我们已经使用 date# 和 date 函数将日期的字符格式转换为日期。

你的例子:

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

并把它作为你的日期转换格式。

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

【讨论】:

    【解决方案2】:

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

    解决方案: date(Date, 'DD-MMM') as Date

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

    解决办法: date(date#(subfield(Date,'/',1)&subfield(Date,'/',2)&subfield(Date,'/',3),'DDMMYYYY '),'DD-MMM') 作为日期

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

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

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2017-12-23
      • 2018-02-12
      • 1970-01-01
      相关资源
      最近更新 更多