месяц не вычисляется (Qlikview)

Автор WA, 19 ноября 2020, 05:06:16

« назад - далее »

WA

Во так 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)'}

тот же эффект.

govorun

Попробуйте двойные кавычки здесь Месяц={'=monthname(Today(1), -1)'} и далее по тексту

admin

Да, как минимум неверное выражение для вычисления месяца. в сетанализе используем {<Поле={"$(=выражение())"}>}

admin

Для отладки начните с простого выражения и в окне отладки внизу будет показано, как клил интерпретируется ваше выражение.

WA

Забыл ранее написать. Пробовал я и с переменной

=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))"}

WA

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

govorun

Вот и хорошо, что все получилось.
Получается, что изначально "Месяц" был не в формате Monthname?

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

Яндекс.Метрика