Поиск клиентов не покупающих определенные товары

Автор olegsky, июня 25, 2017, 10:45:11 am

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

olegsky

Есть такая таблица
Клиент , Товар , Цена
Клиент1,  Мышка, 100
Клиент1,  Монитор , 100
Клиент1,  Клавиатура, 100
Клиент2,  Клавиатура , 100
Клиент2,  Монитор , 100
Клиент 3,  Монитор , 100
Клиент 3,  Клавиатура, 100

Как найти клиента не купившего не одной мышки ?
Спасибо .

Multicvet


millik

июня 28, 2017, 12:28:37 pm #2 Последнее редактирование: июня 28, 2017, 12:31:49 pm от millik
Оптимальный вариант использовать Set Analysis.

Например, выражение вида
Sum({<[Клиент]={"=SubStringCount(Concat([Товар]),'Мышка')=1"}>}[Цена])

выборка [Клиент]={"=SubStringCount(Concat([Товар]),'Мышка')=1"} исключает всех клиентов, которые не покупали мышки.

Чтобы было понятнее как получилось такое выражение немного иллюстрации


Ну а дальше развивайте идею.

millik

июня 28, 2017, 05:01:16 pm #3 Последнее редактирование: июня 28, 2017, 05:02:54 pm от millik
Добавлю ещё что
SubStringCount(Concat([Товар]),'Мышка')=1
можно заменить на любое логическое выражение, например, сравнивать продажи, количество и т.п.

Andrey S

Можно использовать имплицитные модификаторы множеств

Хелп: http://help.qlik.com/ru-RU/qlikview/12.0/Subsystems/Client/Content/ChartFunctions/SetAnalysis/set-modifiers-implicit-field-value-definitions.htm

Выручка по клиентам, не покупавшим мышек:

sum( {$<Клиент = E({1<Товар={'Мышка'}>} Клиент)>} Цена )

millik

Цитата: Andrey S от июня 28, 2017, 06:38:57 pm
Можно использовать имплицитные модификаторы множеств

Хелп: http://help.qlik.com/ru-RU/qlikview/12.0/Subsystems/Client/Content/ChartFunctions/SetAnalysis/set-modifiers-implicit-field-value-definitions.htm

Выручка по клиентам, не покупавшим мышек:

sum( {$<Клиент = E({1<Товар={'Мышка'}>} Клиент)>} Цена )

Тоже вариант. Очень даже красивый.

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