Подскажите, пожалуйста, как создать такую диаграмму https://yadi.sk/i/dg319auoeQdWY
[smg id=66 width=400 type=preview]
Чтобы считалась доля продаж товаров (в шт.), в зависимости от их цены.
В измерениях идет Дата, а вот как прописать выражение, где одновременно задать создание ценовых диапазонов и подсчет количества продаж по этим диапазонам?
Добрый день.
Функция 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 измерения?
Да, два измерения.
Первое Дата, второе диапазон.
Понятно. Скажите, а как быть если диапазоны должны быть настраиваемыми? Менять каждый раз в скрипте не вариант...
Ведь для одних товаров могут быть одни диапазоны, а для других другие.
Следует проанализировать все варианты, найти общее решение.
Если много условий, и создается громоздкая цепочка условий можно использовать макрос.
Можно без макроса использовать еще один параметр в переменной.
Можно найти общий знаменатель, разбить на поддиапазоны функцией class(), затем применив mapping table по таблице необходимых диапазонов получить требуемый результат.
Понятно, с этой задачей оказалось не все так просто, буду обдумывать какой вариант мне более всего подходит. Спасибо!
А еще такой вопрос по сводной таблице 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 руб.
Добрый день.
В свойствах диаграммы, на вкладке Выражения есть опция "Доля", устанавливающая режим отображения результата в процентах.
[smg id=69 width=300 type=preview]
Извиняюсь, не сразу обратил внимание что у вас сводная таблица.
В этом случае следует рассчитывать долю в выражении и настроить отображение в процентах на вкладке "Номер" свойств диаграммы.
Долю считать примерно так - sum(поле)/sum( TOTAL поле)
Так не работает ((( Мне нужна доля по строке!
Подскажите, пожалуйста как подсчитать долю?
Попробуйте так:
sum(поле)/sum( TOTAL <ID акции на сайте> поле)
В вашем случае скорей всего count, но смысл в том, чтобы в знаменателе считать сумму по всем записям текущего измерения.
Смотрим описание функции SUM() (http://help.qlik.com/sense/ru-RU/online/#../Subsystems/Hub/Content/Scripting/AggregationFunctions/sum.htm?Highlight=sum), параметр TOTAL
Большое спасибо, теперь все считается!!! :D :D :D
Добрый день. Чтобы не плодить новую тему, спрошу здесь.
Как сделать что то подобное в Qlik Sense Desktop ?
Нужно построить горизонтальную гистограмму с двумя измерениями, но в процентном соотношении.
То есть несколько организаций (первое измерение), в каждой организации есть группы расходов (второе измерение), и сами расходы (мера).
Задача: нарисовать гистограмму, на которой было бы видно процент расходов по группам расходов для каждой организации.
В количественном виде все хорошо получается, а в процентном - не могу понять, как сделать.
В итоге нужно получить что то наподобие этого: https://yadi.sk/i/6OOUwdebnkBih (https://yadi.sk/i/6OOUwdebnkBih)
Привет.
Ну раз Sense не может вычислить процент сам, надо ему помочь :)
Например, выражение :
Sum([Сумма])/Sum( total<[Организация]> [Сумма])
использованное в линейчатой диаграмме дает требуемый результат.
[smg id=82 type=preview]
Спасибо! Все получилось.