首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Qlik语义表达式中将数字转换为日期

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

Stack Overflow用户
提问于 2020-03-25 02:32:36
回答 1查看 182关注 0票数 0

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

代码语言:javascript
复制
=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()函数,但我有点卡住了。

正确的语法会是怎样的呢?

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

欢迎任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-03-25 03:23:50

当你想要加/减月份时,最好使用AddMonths()函数:AddMonths( DateField, NumberOfMonths)。此函数将处理一月份的问题

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60837193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档