Как создать таблицу перекрестных продаж в Qlikview?

Автор Ирина, января 08, 2015, 01:57:44 pm

« предыдущая - следующая »

Ирина

января 08, 2015, 01:57:44 pm Последнее редактирование: июня 14, 2015, 03:47:46 pm от admin
Подскажите, пожалуйста, как реализовать в QlikView таблицу или диаграмму перекрестных продаж?

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

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

Буду очень благодарна за любую подсказку и помощь!

admin

День добрый.
Не совсем понятно какова структура исходной таблицы?
Количество колонок зависит от количества товарных позиций в заказе?

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

Измерения для сводной таблицы - Категория товара и Категория товара2
Выражение для сводной таблицы =count(Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))
Должно сработать (Извините, не проверял  :) )

Ирина

Большое спасибо за подсказку! сейчас буду пробовать!  :) :) :)
Я правильно понимаю, что в выражении вводиться "Distinct if", чтобы в одном заказе не учитывались одинаковые категории, т.е. если категории не равны, то номер заказа считается?

Ирина

"Выражение для сводной таблицы =count(Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

А как добавить условие, чтобы таким образом считались только заказы, количество товара (есть ID товара) в которых было бы не больше 10. Т.е. заказы с 11, 20 и более товарами игнорировались?

admin

Добрый день.
Вариантов несколько, если речь идет об анализе по существенным (более 10) продажам не только в пределах одной обсуждаемой таблицы, то можно будет применить фильтрацию для всей модели.
Простейший способ - в поле поиска по полю "количество" написать выражение >10.
В этом случае все данные в приложении будут отражаться только по этому условию, т.е. по продажам более 10 штук.
Можно использовать поле ввода и через переменную и триггер устанавливать этот же фильтр.
Можно сделать и для одной таблицы, в этом случае в выражение надо будет внести изменение, добавить запись расширенной фильтрации (Set Analyse) {<[ Количество товара]={'>10'}>}
=count({<[ Количество товара]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

Ирина

Спасибо! С количеством товара понятно  :)
А как быть если нужно задать следующее условие - чтобы в заказе было не больше 10 позиций?
Т.е. есть заказы, например, в которых 4 кофты, 3 штанов, 3 куртки, 3 шапки = получается 13 позиций. И вот надо, чтобы такие заказы не считались.
Тут еще одно условие надо добавлять?

admin

В этом случае уже будет посложнее, надо будет использовать  Aggr().
Либо сделать проще, при загрузке подсчитать количество позиций по заказам и фильтровать уже по этому полю.
=count({<[Позиций в заказе]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

Ирина


admin

Для начала сделайте таблицу с количеством номенклатур/позиций по заказам.
Это и проще, быстрее и контрольные цифры всегда будут под рукой.
В модели данных сильно мешаться не будет.

Рейтинг@Mail.ru Яндекс.Метрика