Добрый день,
подскажите пож. как можно в Qlik осуществить следующее.
1) как сравнить среднее значение(цена) по подгруппе со значениями(цены) в группе, для выявления кто купил по большей цене чем средняя(Avg(Total)) или меньшей.
я написал такую формулу:
if ([цена без ПДВ]>=Aggr (Avg(TOTAL ([цена без ПДВ]),[ID Access]), 'выше среднего', 'ниже среднего'))
но Qlik по ходу не берет в расчет Total, а сравнивает все значения в группе.
Заранее благодарен.
Приветствую!
Не совсем понятно зачем Вы используете Aggr() в данном выражении. Более того, зачем его использовать снаружи Avg(). Таким образом, Вы можете получить более 1го среднего значения цены для каждого допустимого ID Access значения.
И похоже что у Вас неправильный синтаксис: Avg(TOTAL ([цена без ПДВ]) - лишняя круглая скобка перед словом "цена".
Рекомендую либо поменять местами Avg и Aggr - если все же нужно учитывать ID Access значения.
Либо убрать Aggr вовсе.
Также формулу Avg можно прописать следующим образом:
Avg(TOTAL <[ID Access]> [цена без ПДВ]) - это выражение будет Вам возвращать среднюю цену внутри каждого значения [ID Access], при условии что ID Access используется как Измерение в диаграмме/таблице.
Цитата: mslobogan от 21 июня 2017, 10:51:58
Добрый день,
подскажите пож. как можно в Qlik осуществить следующее.
1) как сравнить среднее значение(цена) по подгруппе со значениями(цены) в группе, для выявления кто купил по большей цене чем средняя(Avg(Total)) или меньшей.
я написал такую формулу:
if ([цена без ПДВ]>=Aggr (Avg(TOTAL ([цена без ПДВ]),[ID Access]), 'выше среднего', 'ниже среднего'))
но Qlik по ходу не берет в расчет Total, а сравнивает все значения в группе.
Заранее благодарен.
Добрый день,
я прикрепил файл, с тем что я делал. Если прописать формулу Avg(TOTAL <[ID Access]> [цена без ПДВ]) как Вы говорите , то она возвращает среднюю цену общюю не включая группы.
А мне необходимо сравнить среднюю цену в группе( я вычислил) с каждой ценой в группе
Цитата: mslobogan от 21 июня 2017, 10:51:58
я написал такую формулу:
if ([цена без ПДВ]>=Aggr (Avg(TOTAL ([цена без ПДВ]),[ID Access]), 'выше среднего', 'ниже среднего'))
но Qlik по ходу не берет в расчет Total, а сравнивает все значения в группе.
Заранее благодарен.
1)
Сразу что бросается в глаза это ошибки в скобках. В конце должна стоять только одна скобка, т.к. закрывается только If. Ещё одна лишняя скобка перед [цена без ПДВ] в функции Avg(). Зато не хватает скобки после [ID Access], т.к. Aggr не закрыт.
2)
Когда вы используете Aggr() эта функция не видит вашу внешнюю таблицу. Она строит свою временную таблицу. В данном случае из 2 полей: измерения [ID Access] и меры Avg(TOTAL ([цена без ПДВ]).
В данной временной таблице префикс TOTAL работает только на [ID Access].
Попробуйте дописать в эту временную таблицу ещё одно измерение подгруппы, а в префиксе TOTAL исключить поле [ID Access]
Aggr(Avg(TOTAL<[ID Access]> [цена без ПДВ]),[ID Access],[Подгруппа])
3)
Не совсем понятно использование Aggr(), если все измерения и так есть в выходной таблице. Можно оставить просто Avg() расширив блок исключений TOTAL на необходимые измерения.
Aggr() обычно используется когда в конечной таблице другой набор измерений, не тот что нужен для вычисления меры.
вы говорите что скобки стоят не правильно, но когда я пишу формулу то Qlik говорит что "Expression ok", второй момент я все перепробовал но результат тот же.
В документации написано что если сравнивать множество с подмножеством и наоборот, то среднее значение "Total" по каждой подгруппе не будет учитываться, а будет браться среднее по всей таблице.
а мне необходимо что бы было так:
цена без ПДВ об'єм/тара Avg цена без ПДВ новая формула
1 1мл 4.5 меньше
2 1мл меньше
3 1мл меньше
4 1мл меньше
5 1мл больше
6 1мл больше
7 1мл больше
8 1мл больше
есть вариант с екселем, но здесь мне кажется быстрее, если правильно написать формулу.
Подготовьте, пожалуйста, небольшой пример скрипта загрузки с тестовыми данными и окончательную таблицу какую вам нужно получить из этих данный.
На словах очень трудно понять, какая у вас вообще модель данных и что вы в итоге хотите увидеть.
во вложении ексель.
заранее благодарен