Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Февраль 23, 2018, 05:30:17 pm

Автор Тема: Как создать таблицу перекрестных продаж в Qlikview?  (Прочитано 2214 раз)

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Подскажите, пожалуйста, как реализовать в QlikView таблицу или диаграмму перекрестных продаж?

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

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

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1031
  • Страна: ru
  • Рейтинг: +107/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #1 : Январь 08, 2015, 08:07:20 pm »
День добрый.
Не совсем понятно какова структура исходной таблицы?
Количество колонок зависит от количества товарных позиций в заказе?

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

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

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #2 : Январь 08, 2015, 10:30:29 pm »
Большое спасибо за подсказку! сейчас буду пробовать!  :) :) :)
Я правильно понимаю, что в выражении вводиться "Distinct if", чтобы в одном заказе не учитывались одинаковые категории, т.е. если категории не равны, то номер заказа считается?

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

Re: Как создать таблицу перекрестных продаж?
« Ответ #2 : Январь 08, 2015, 10:30:29 pm »

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #3 : Январь 14, 2015, 01:22:59 pm »
"Выражение для сводной таблицы =count(Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1031
  • Страна: ru
  • Рейтинг: +107/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #4 : Январь 14, 2015, 04:42:33 pm »
Добрый день.
Вариантов несколько, если речь идет об анализе по существенным (более 10) продажам не только в пределах одной обсуждаемой таблицы, то можно будет применить фильтрацию для всей модели.
Простейший способ - в поле поиска по полю "количество" написать выражение >10.
В этом случае все данные в приложении будут отражаться только по этому условию, т.е. по продажам более 10 штук.
Можно использовать поле ввода и через переменную и триггер устанавливать этот же фильтр.
Можно сделать и для одной таблицы, в этом случае в выражение надо будет внести изменение, добавить запись расширенной фильтрации (Set Analyse) {<[ Количество товара]={'>10'}>}
=count({<[ Количество товара]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #5 : Январь 14, 2015, 04:49:54 pm »
Спасибо! С количеством товара понятно  :)
А как быть если нужно задать следующее условие - чтобы в заказе было не больше 10 позиций?
Т.е. есть заказы, например, в которых 4 кофты, 3 штанов, 3 куртки, 3 шапки = получается 13 позиций. И вот надо, чтобы такие заказы не считались.
Тут еще одно условие надо добавлять?

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1031
  • Страна: ru
  • Рейтинг: +107/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #6 : Январь 14, 2015, 05:28:32 pm »
В этом случае уже будет посложнее, надо будет использовать  Aggr().
Либо сделать проще, при загрузке подсчитать количество позиций по заказам и фильтровать уже по этому полю.
=count({<[Позиций в заказе]={'>10'}>} Distinct if([Категория товара]<>[Категория товара2], [номер заказа]))"

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

Re: Как создать таблицу перекрестных продаж?
« Ответ #6 : Январь 14, 2015, 05:28:32 pm »

Оффлайн Ирина

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #7 : Январь 16, 2015, 10:05:55 am »
Понятно, спасибо, буду изучать  Aggr()  :)

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1031
  • Страна: ru
  • Рейтинг: +107/-0
    • Просмотр профиля
Re: Как создать таблицу перекрестных продаж?
« Ответ #8 : Январь 18, 2015, 03:38:54 pm »
Для начала сделайте таблицу с количеством номенклатур/позиций по заказам.
Это и проще, быстрее и контрольные цифры всегда будут под рукой.
В модели данных сильно мешаться не будет.