Создание сложной диаграммы в Qlikview

Автор Ирина, 02 февраля 2015, 02:55:16

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

Ирина

Подскажите, пожалуйста, как создать такую диаграмму https://yadi.sk/i/dg319auoeQdWY
[smg id=66 width=400 type=preview]
Чтобы считалась доля продаж товаров (в шт.), в зависимости от их цены.

В измерениях идет Дата, а вот как прописать выражение, где одновременно задать создание ценовых диапазонов и подсчет количества продаж по этим диапазонам?

admin

Добрый день.
Функция class() в этом случае может не устроить. Следовательно необходимо классифицировать цены по диапазонам самостоятельно, например с использованием переменной с параметром.
Примерно так:

set vFuncTest="
if($1<1000,'Менее 1000',
if($1<2500,'от 1000 до 2500','Более 2500'
))
";

LOAD *, $(vFuncTest(F2)) as [Диапазон] INLINE [
    F1, F2
    1, 400
    2, 1000
    3, 1500
    4, 5000
    5, 10000
    6, 2000
    7, 3400
    8, 522
    9, 920
    10, 1004
];


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

Ирина

А если я в измерении поставлю диапазон, то куда я буду ставить даты? Или получается будет 2 измерения?

admin

Да, два измерения.
Первое Дата, второе диапазон.

Ирина

Понятно. Скажите, а как быть если диапазоны должны быть настраиваемыми? Менять каждый раз в скрипте не вариант...
Ведь для одних товаров могут быть одни диапазоны, а для других другие.

admin

Следует проанализировать все варианты, найти общее решение.
Если много условий, и создается громоздкая цепочка условий можно использовать макрос.
Можно без макроса использовать еще один параметр в переменной.
Можно найти общий знаменатель, разбить на поддиапазоны функцией class(), затем применив mapping table по таблице необходимых диапазонов получить требуемый результат.


Ирина

#6
Понятно, с этой задачей оказалось не все так просто, буду обдумывать какой вариант мне более всего подходит. Спасибо!

А еще такой вопрос по сводной таблице c диапазонами цен. Выглядит вот так https://yadi.sk/i/qwHe-YiVeS76g
[smg id=67 width=400 type=previrew]
Диапазон задаю ползунком через переменную.
Измерения выглядят вот так https://yadi.sk/i/uLx7Qdk-eS7Cp
[smg id=68  width=400 type=previrew]
Вопрос - никак не могу понять, как рассчитать долю в процентах для каждого диапазона по строчке....
Т.е. таким образом я буду понимать, что по такой-то акции 40% купленных товаров приходятся на диапазон цен от 0 до 1000 руб.

admin

#7
Добрый день.
В свойствах диаграммы, на вкладке Выражения есть опция "Доля", устанавливающая режим отображения результата в процентах.
[smg id=69 width=300 type=preview]

admin

Извиняюсь, не сразу обратил внимание что у вас сводная таблица.
В этом случае следует рассчитывать долю в выражении и настроить отображение в процентах на вкладке "Номер" свойств диаграммы.
Долю считать примерно так - sum(поле)/sum( TOTAL поле)

Ирина

Так не работает ((( Мне нужна доля по строке!
Подскажите, пожалуйста как подсчитать долю?

admin

Попробуйте так:
sum(поле)/sum( TOTAL <ID акции на сайте> поле)
В вашем случае скорей всего count, но смысл в том, чтобы в знаменателе считать сумму по всем записям текущего измерения.

admin

#11
Смотрим описание функции SUM(), параметр TOTAL

Ирина

Большое спасибо, теперь все считается!!!  :D :D :D

IpS

#13
Добрый день. Чтобы не плодить новую тему, спрошу здесь.

Как сделать что то подобное в Qlik Sense Desktop ?

Нужно построить горизонтальную гистограмму с двумя измерениями, но в процентном соотношении.
То есть несколько организаций (первое измерение), в каждой организации есть группы расходов (второе измерение), и сами расходы (мера).
Задача: нарисовать гистограмму, на которой было бы видно процент расходов по группам расходов для каждой организации.
В количественном виде все хорошо получается, а в процентном - не могу понять, как сделать.
В итоге нужно получить что то наподобие этого: https://yadi.sk/i/6OOUwdebnkBih

admin

#14
Привет.
Ну раз Sense не может вычислить процент сам, надо ему помочь  :)
Например, выражение :
Sum([Сумма])/Sum( total<[Организация]> [Сумма])
использованное в линейчатой диаграмме дает требуемый результат.
[smg id=82  type=preview]

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