Как преобразовать число в дату в выражении Qlik Sense - PullRequest
0 голосов
/ 24 марта 2020

На графике я пытаюсь показать в прошлом месяце следующее выражение:

=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] Я имею в виду период, например «ГГГГММ» и когда я вычитаю -1 Я просто подписал 1 к, например: 202002 -1 = 202001, так что работает, потому что он рассчитает правильный период.

Но ... Если месяц это январь? YYYY01? пример 202001 -1 = 202000 00 номер месяца не существует. 00 должно быть 12.

Так что мне интересно, что если я буду считать число датой? Я пытаюсь использовать функцию Date(), но я немного застрял.

Как это может быть с правильным синтаксисом?

Другое решение, я думаю, это установить некоторый код в редактор кода, но все еще развивает идею.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 24 марта 2020

Если вы хотите сложить / вычесть месяцы, лучше использовать AddMonths () function: AddMonths( DateField, NumberOfMonths). Эта функция будет работать с январским выпуском

. В вашем случае будет: =AddMonths(Max([SH_historico_1.ANOMES]), -1) (как вы можете видеть, число месяцев может быть отрицательным числом, которое будет вычитать месяцы из даты)

И немного совета: если вы планируете использовать этот расчет в выражении, рассмотрите возможность использования Set Analysis вместо оператора if..then..else. if операторы медленнее и потребляют больше ресурсов при использовании в выражениях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...