-
Re: Как посчитать процент посещений клиентов по месяцам от своей базы
Sergey Polekhin Oct 11, 2017 4:26 PM (in response to Taras Dolgii)Ваш вопрос распадается на несколько составляющих:
- Использование корректной модели
- Использование корректных формул
- Корректность работы объекта визуализации
- Что делать в вашем конкретном случае (workaround)
Теперь по порядку:
Использование корректной модели
Здесь не буду писать много, полагая, что вы лучше понимаете зависимости в ваших данных (возможные у вас реляционные отношения). Поэтому просто обращу внимание на то, что, возможно, связывание таблиц нужно делать не по одному полю, а по нескольким, что позволит вам корректно обрабатывать отношения "многие-ко-многим", В своих примерах я объединяю ваши таблицы по нескольким ключевым полям: ТочкаID, ТорговыйПредставитель (исходное поле "Зона продаж") и "Название клиента 1".
В моем случае я не использую никаких промежуточных ключевых таблиц, т.к. для примера достаточно использования встроенного функционала Qlik, обеспечивающего построения автоматических синтетических ключей.
В реальных высоконагруженных моделях, очевидно, от синтетических ключей лучше избавляться путем построения требуемых вам ключевых таблиц.
Корректность формул
- Общее предупреждение: будьте аккуратны при использовании функции Count() по отношению к ключевым полям. Т.к. бездумно используя функцию Count(), вы можете получить некорректные результаты из-за того, что содержимое ключевых полей наполняется значениями из различных таблиц
- Для того, чтобы значения функций рассчитывались правильно, нужно не забывать, что их расчет всегда происходит в контексте заданных измерений. Т.е. если в качестве измерений вы используете два поля: Месяц и ТорговыйПредставитель, то любые функции по умолчанию будут рассчитываться в контексте обоих измерений.
Поэтому если вы хотите считать функции в другом контексте измерений, то этот контекст нужно явно определять. Для этого существует префикс Total (см. пример1)
Корректность работы объекта визуализации
- Похоже, нужно признать, что текущая версия сводной таблицы в Qlik Sense не вполне корректно обрабатывает префикс Total. Во всяком случае, аналогичный объект визуализации в QlikView позволяет получить искомый результат с использованием таких же выражений (см. рис. нижеt).
- Оформил кейс разработчикам, полагаю, что они исправят этот баг в ближайшее время.
- Но даже при корректной работе объекта визуализации автоматически создаваемая таблица будет не "вполне симпатичной" для конечного пользователя (см. рис. выше), т.к. рассчитываемые значения общего количества торговых точек вы хотите выводить в контексте месяцев, которые не имеют прямой связи с рассчитываемыми значениями.
Что делать в вашем конкретном случае (workaround)
- В вашем случае я предложил бы создать дополнительную таблицу в модели, содержащую сочетания значений поля ТорговыйПредставитель всем имеющимся значениям поля Месяц
- Предложенный подход позволит как обойти недостаток текущей версии объекта визуализации, так и сделать таблицу более понятной конечному пользователю (см. пример 2).
-
2017.10.11_Пример2_v.1.0 .qvf 224.0 K
-
2017.10.11_Пример1_v.1.0.qvf 207.0 K
-
Re: Как посчитать процент посещений клиентов по месяцам от своей базы
Taras Dolgii Oct 11, 2017 6:02 PM (in response to Sergey Polekhin )Сергей, спасибо, за столь подробный ответ!
Пример 2, безусловно подошел как нельзя лучше. Но и пример 1, вполне рабочий для наших задач.
Для себя уяснил следующее:
1. Я приходил к вашему примеру 1, и имел такой вид таблиц с корректными данными в таблице, но, все верно, как вы и пишите, таблица в первоначальном виде считает как нужно, т.е. все колонки по строке итого по месяцам рассчитывает верно, но как только применяешь фильтр месяц, все слетает... это и не понятно было. См. вложение. Т.е. проблема не только в сводной таблице, а видимо в алгоритме. Т.к. любые другие диаграммы выводят тоже самое.
2. Пример 2, безусловно красивее, но требует понимания, как вы сделали третью таблицу. Я пока начинающий специалист по работе с BI системами, в голове иногда себе не представляю какими должны быть взаимосвязи и как правильно построить вспомогательные таблицы для нужных результатов и визуализаций. Но буду разбираться, в т.ч. и на ваших примерах!
Вам огромное спасибо за помощь и подсказки, а так же успехов вам на работе и в жизни! !
-
С фильтром по сентябрю.JPG 68.8 K
-
Без фильтра по месяцам.JPG 100.4 K
-
Re: Как посчитать процент посещений клиентов по месяцам от своей базы
Sergey Polekhin Nov 22, 2017 4:32 PM (in response to Taras Dolgii)И Вам Успехов и Удачи!
-