如何在Qlik Sense表达式中将数字转换为日期



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

=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=20200000月号,它不存在。00应该是12。

所以我想知道,如果我把这个数字当作约会呢?我正在尝试使用Date()函数,但有点卡住了。

如何使用正确的语法?

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

欢迎任何帮助。

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

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

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

最新更新