Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: WA от 19 ноября 2020, 05:06:16

Название: месяц не вычисляется (Qlikview)
Отправлено: WA от 19 ноября 2020, 05:06:16
Во так QV считает
if(aggr(avg({<Месяц={"окт"},Направление={"Вход"}>}avr_разговор),Провайдеры)<
0.8*aggr(avg({<Направление={"Вход"}>}avr_разговор),Провайдеры),time(aggr(avg({<Месяц={"окт"},Направление={"Вход"}>}avr_разговор),Провайдеры)))
,а вот так отказывается
if(aggr(avg({<Месяц={'=monthname(Today(1), -1)'},Направление={'Вход'}>}avr_разговор),Провайдеры)<
0.8*aggr(avg({<Направление={"Вход"}>}avr_разговор),Провайдеры),time(aggr(avg({<Месяц={'=monthname(Today(1), -1)'},Направление={'Вход'}>}avr_разговор),Провайдеры)))
т.е. проблема с вычислением месяца
и так пробовал
Месяц={'=Месяц=monthname(Today(1), -1)'}

тот же эффект.
Название: Re: месяц не вычисляется
Отправлено: govorun от 19 ноября 2020, 06:37:26
Попробуйте двойные кавычки здесь Месяц={'=monthname(Today(1), -1)'} и далее по тексту
Название: Re: месяц не вычисляется
Отправлено: admin от 19 ноября 2020, 07:38:35
Да, как минимум неверное выражение для вычисления месяца. в сетанализе используем {<Поле={"$(=выражение())"}>}
Название: Re: месяц не вычисляется
Отправлено: admin от 19 ноября 2020, 07:41:21
Для отладки начните с простого выражения и в окне отладки внизу будет показано, как клил интерпретируется ваше выражение.
Название: Re: месяц не вычисляется (Qlikview)
Отправлено: WA от 20 ноября 2020, 09:06:30
Забыл ранее написать. Пробовал я и с переменной

=if(aggr(avg({<Месяц={$(=vLastMonthName)},Направление={"Вход"}>}avr_разговор),Провайдеры)<
0.8*aggr(avg({<Направление={"Вход"}>}avr_разговор),Провайдеры),time(aggr(avg({<Месяц={$(=vLastMonthName)},Направление={"Вход"}>}avr_разговор),Провайдеры)))

и без
=if(aggr(avg({<Месяц={"$(=monthname(Today(1), -1))"},Направление={"Вход"}>}avr_разговор),Провайдеры)<
0.8*aggr(avg({<Направление={"Вход"}>}avr_разговор),Провайдеры),time(aggr(avg({<Месяц={"$(=monthname(Today(1), -1))"},Направление={"Вход"}>}avr_разговор),Провайдеры)))

не считает.

Что касается отладки. Если с конкретным указанием месяца все OK, то ведь явно проблема с этим
Месяц={"$(=monthname(Today(1), -1))"}
Название: Re: месяц не вычисляется (Qlikview)
Отправлено: WA от 23 ноября 2020, 02:29:32
В итоге посчитал так:
=if(aggr(avg({<Месяц={"$(=Month(Addmonths(today(1),-1)))"},Направление={"Вход"}>}avr_разговор),Провайдеры)<
0.8*aggr(avg({<Направление={"Вход"}>}avr_разговор),Провайдеры),time(aggr(avg({<Месяц={"$(=Month(Addmonths(today(1),-1)))"},Направление={"Вход"}>}avr_разговор),Провайдеры)))
Название: Re: месяц не вычисляется (Qlikview)
Отправлено: govorun от 23 ноября 2020, 10:14:35
Вот и хорошо, что все получилось.
Получается, что изначально "Месяц" был не в формате Monthname?

// Может вместо этого
Месяц={"$(=Month(Addmonths(today(1),-1)))"}
//попробовать вот так?
Месяц={"$(=Max(Месяц, 2))"}
И еще наверное нужно что-то с годом придумать, а то ведь месяца повторяются...