Выборка по принципу "И", Qlikview

Автор Евгений, 22 марта 2016, 04:11:47

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

Евгений

Здравствуйте! Такой вопрос беспокоит:

Имеются такие данные:
Client, Product, Date, Sales
1,       Apple,  01-01-2015, 750
1,       Mango,  01-02-2015, 450
1,       Limon,  01-02-2015, 350
2,       Apple,  01-01-2015, 1750
2,       Mango,  01-02-2015, 550
3,       Limon,  01-01-2015, 250

(Выбираю Limon) Выражением sum( {<Client = p({1<Product={'Limon'}>}) >} Sales) я оставляю тех, кто покупал Limon. Это 1-ый и 3-ий клиент.

Вопрос:  Как мне оставить тех, кто покупал только Limon и ничего кроме.  Или, например, только тех, кто покупал  Limon и Mango вместе ( среди покупок именно два товара вместе)?

P.S.: может есть другие варианты сделать так, чтобы выборка в списке "Product" работала не как"Или", а как "И" ? Возможно как-то переключать эти режимы?

kvv

Можно попробовать в Дименшне оставить Client, а в  Ехспрешене написать вот так:
sum({$<Product = {'Limon'}>}) Sales)


Евгений

Спасибо за внимание к моему вопросу!
Limon покупали все 3 клиента.  А как мне найти тех клиентов, которые покупали и Limon и Mango ? Причем именно два товара вместе ( 2-ой и 3-ий клиент уже не подойдут)

kvv

1. И все же, лимон покупали только 1-ый и 3-ий клиент.

2. Найти клиентов, которые покупали манго и лимон:
sum({$<Product = {'Limon', 'Mango'}>}) Sales)

piton

Если  в Дименшне оставить Client и прописать.

if(sum( {<Client = p({1<Product={'Limon'}>}) >} Sales)> 0,
if (sum( {<Client = p({1<Product={'Mango'}>}) >} Sales)>0,
sum(Sales),
0))


То суммы будут только у клиентов которые купили и то и то. Но правда если клиентов схлопнуть до других показателей, то данные могут разъехаться.

Bayun

Посмотрите, возможно это поможет: http://www.qlikfix.com/2013/10/23/and-or-mode-selections-in-qlikview/
Но там жуткий изврат...  ;D

Bayun

Вдогонку, возможно это тоже будет интересно:
http://www.infinityinsight.com/blog/?p=270

millik

#7
Попробуйте через операции с модификаторами множества.
sum({ <Product={'Limon'}> * <Client = p({1<Product={'Limon'}>}) >} Sales)

либо следующее выражение
sum({<Client = p({1<Product={'Limon'}, Client={"=Aggr(Count(distinct Product),Client)=1"}>}) >} Sales)

admin

Цитата: millik от 26 апреля  2016, 04:20:02  
Попробуйте через операции с модификаторами множества.
sum({ <Product={'Limon'}> * <Client = p({1<Product={'Limon'}>}) >} Sales)

либо следующее выражение
sum({<Client = p({1<Product={'Limon'}, Client={"=Aggr(Count(distinct Product),Client)=1"}>}) >} Sales)
Приветствую! 
Спасибо  ;)

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