【问题标题】:How to transform number to date in Qlik Sense expression如何在 Qlik Sense 表达式中将数字转换为日期
【发布时间】:2020-03-24 18:32:35
【问题描述】:

在上个月我试图用这个表达式显示的图表中:

=If( [SH_historico_1.ANOMES] >= '$(=Max([SH_historico_1.ANOMES])-1)' and   [SH_historico_1.ANOMES] <= '$(=Max([SH_historico_1.ANOMES]))', [SH_historico_1.ANOMES])

当我写 [SH_historico_1.ANOMES] 时,我指的是句点,比如 'YYYYMM' 当我减去 -1 时,我只是将 1 减去,例如:202002 -1 = 202001,所以有效,因为它会计算正确的周期。

但是……如果是一月呢? YYYY01?例如 202001 -1 = 202000 00 月份数它不存在。 00 应该是 12。

所以我想知道如果我将数字视为日期会怎样? 我正在尝试使用Date() 函数,但我有点卡住了。

如何使用正确的语法?

我认为的另一个解决方案是在编辑器代码中设置一些代码,但仍在开发这个想法。

欢迎任何帮助。

【问题讨论】:

    标签: qliksense qlik-expression


    【解决方案1】:

    当您想要添加/减去月份时,最好使用AddMonths() 函数:AddMonths( DateField, NumberOfMonths)。此功能将处理一月刊

    在您的情况下是:=AddMonths(Max([SH_historico_1.ANOMES]), -1)(如您所见,月数可以是负数,这将从日期中减去月数)

    还有一点建议:如果您打算在表达式中使用此计算,请考虑使用Set Analysis 而不是if..then..else 语句。 if 语句速度较慢,在表达式中使用时会消耗更多资源

    【讨论】:

      猜你喜欢
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 2013-05-18
      • 1970-01-01
      相关资源
      最近更新 更多