Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Ирина от 08 января 2015, 01:57:44

Название: Как создать таблицу перекрестных продаж в Qlikview?
Отправлено: Ирина от 08 января 2015, 01:57:44
Подскажите, пожалуйста, как реализовать в QlikView таблицу или диаграмму перекрестных продаж?

Т.е. у меня есть таблица со следующими столбцами:
- номер заказа
- ID товара 1 в заказе
- Категория этого товара 1
- Количество товара 1, шт.
- Цена продажи товара 1, руб.
- ID товара N в заказе
- Категория этого товара N
- Количество товара N, шт.
- Цена продажи товара N, руб.

Надо понять какие категории с какими чаще всего заказываются (встречаются в одном заказе).
Т.е. надо вывести таблицу, в заголовках которой были бы категории, а в полях (на пересечении категорий) было бы количество заказов.

Буду очень благодарна за любую подсказку и помощь!
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: admin от 08 января 2015, 08:07:20
День добрый.
Не совсем понятно какова структура исходной таблицы?
Количество колонок зависит от количества товарных позиций в заказе?

Для анализа потребуется привести структуру таблицы о продажах к виду:
- номер заказа
- ID товара
- Категория товара
- Количество товара
- Цена продажи товара
Затем, создать модель с двумя одинаковыми таблицами, связанными по номеру заказа. При этом имена полей второй таблицы следует изменить.

Измерения для сводной таблицы - Категория товара и Категория товара2
Выражение для сводной таблицы =count(Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))
Должно сработать (Извините, не проверял  :) )
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: Ирина от 08 января 2015, 10:30:29
Большое спасибо за подсказку! сейчас буду пробовать!  :) :) :)
Я правильно понимаю, что в выражении вводиться "Distinct if", чтобы в одном заказе не учитывались одинаковые категории, т.е. если категории не равны, то номер заказа считается?
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: Ирина от 14 января 2015, 01:22:59
"Выражение для сводной таблицы =count(Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

А как добавить условие, чтобы таким образом считались только заказы, количество товара (есть ID товара) в которых было бы не больше 10. Т.е. заказы с 11, 20 и более товарами игнорировались?
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: admin от 14 января 2015, 04:42:33
Добрый день.
Вариантов несколько, если речь идет об анализе по существенным (более 10) продажам не только в пределах одной обсуждаемой таблицы, то можно будет применить фильтрацию для всей модели.
Простейший способ - в поле поиска по полю "количество" написать выражение >10.
В этом случае все данные в приложении будут отражаться только по этому условию, т.е. по продажам более 10 штук.
Можно использовать поле ввода и через переменную и триггер устанавливать этот же фильтр.
Можно сделать и для одной таблицы, в этом случае в выражение надо будет внести изменение, добавить запись расширенной фильтрации (Set Analyse) {<[ Количество товара]={'>10'}>}
=count({<[ Количество товара]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: Ирина от 14 января 2015, 04:49:54
Спасибо! С количеством товара понятно  :)
А как быть если нужно задать следующее условие - чтобы в заказе было не больше 10 позиций?
Т.е. есть заказы, например, в которых 4 кофты, 3 штанов, 3 куртки, 3 шапки = получается 13 позиций. И вот надо, чтобы такие заказы не считались.
Тут еще одно условие надо добавлять?
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: admin от 14 января 2015, 05:28:32
В этом случае уже будет посложнее, надо будет использовать  Aggr().
Либо сделать проще, при загрузке подсчитать количество позиций по заказам и фильтровать уже по этому полю.
=count({<[Позиций в заказе]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: Ирина от 16 января 2015, 10:05:55
Понятно, спасибо, буду изучать  Aggr()  :)
Название: Re: Как создать таблицу перекрестных продаж?
Отправлено: admin от 18 января 2015, 03:38:54
Для начала сделайте таблицу с количеством номенклатур/позиций по заказам.
Это и проще, быстрее и контрольные цифры всегда будут под рукой.
В модели данных сильно мешаться не будет.