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

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

« назад - далее »

olegsky

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

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

Multicvet


millik

#2
Оптимальный вариант использовать Set Analysis.

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

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

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


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

millik

#3
Добавлю ещё что
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  
Можно использовать имплицитные модификаторы множеств

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

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

sum( {$<Клиент = E({1<Товар={'Мышка'}>} Клиент)>} Цена )
Тоже вариант. Очень даже красивый.

Яндекс.Метрика