Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Июнь 25, 2018, 12:53:04 pm

Автор Тема: Выборка по принципу "И", Qlikview  (Прочитано 1576 раз)

Оффлайн Евгений

  • Новичок
  • *
  • Сообщений: 25
  • Рейтинг: +2/-0
    • Просмотр профиля
Выборка по принципу "И", Qlikview
« : Март 22, 2016, 04:11:47 pm »
Здравствуйте! Такой вопрос беспокоит:

Имеются такие данные:
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

  • Гуру
  • ***
  • Сообщений: 135
  • Страна: 00
  • Рейтинг: +36/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #1 : Март 22, 2016, 05:28:15 pm »
Можно попробовать в Дименшне оставить Client, а в  Ехспрешене написать вот так:
sum({$<Product = {'Limon'}>}) Sales)

Оффлайн Евгений

  • Новичок
  • *
  • Сообщений: 25
  • Рейтинг: +2/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #2 : Март 22, 2016, 05:50:18 pm »
Спасибо за внимание к моему вопросу!
Limon покупали все 3 клиента.  А как мне найти тех клиентов, которые покупали и Limon и Mango ? Причем именно два товара вместе ( 2-ой и 3-ий клиент уже не подойдут)

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

Re: Выборка по принципу "И", Qlikview
« Ответ #2 : Март 22, 2016, 05:50:18 pm »

Оффлайн kvv

  • Гуру
  • ***
  • Сообщений: 135
  • Страна: 00
  • Рейтинг: +36/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #3 : Март 23, 2016, 10:45:38 am »
1. И все же, лимон покупали только 1-ый и 3-ий клиент.

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

Оффлайн piton

  • Новичок
  • *
  • Сообщений: 22
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #4 : Март 23, 2016, 11:16:02 am »
Если  в Дименшне оставить Client и прописать.

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

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

Оффлайн Bayun

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +2/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #5 : Март 30, 2016, 05:07:17 pm »
Посмотрите, возможно это поможет: http://www.qlikfix.com/2013/10/23/and-or-mode-selections-in-qlikview/
Но там жуткий изврат...  ;D

Оффлайн Bayun

  • Новичок
  • *
  • Сообщений: 11
  • Страна: ru
  • Рейтинг: +2/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #6 : Март 31, 2016, 11:22:49 am »
Вдогонку, возможно это тоже будет интересно:
http://www.infinityinsight.com/blog/?p=270

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

Re: Выборка по принципу "И", Qlikview
« Ответ #6 : Март 31, 2016, 11:22:49 am »

Оффлайн millik

  • Наставник
  • **
  • Сообщений: 77
  • Страна: by
  • Рейтинг: +33/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #7 : Апрель 26, 2016, 04:20:02 pm »
Попробуйте через операции с модификаторами множества.
sum({ <Product={'Limon'}> * <Client = p({1<Product={'Limon'}>}) >} Sales)
либо следующее выражение
sum({<Client = p({1<Product={'Limon'}, Client={"=Aggr(Count(distinct Product),Client)=1"}>}) >} Sales)

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1139
  • Страна: ru
  • Рейтинг: +125/-0
    • Просмотр профиля
Re: Выборка по принципу "И", Qlikview
« Ответ #8 : Апрель 26, 2016, 06:20:01 pm »
Попробуйте через операции с модификаторами множества.
sum({ <Product={'Limon'}> * <Client = p({1<Product={'Limon'}>}) >} Sales)
либо следующее выражение
sum({<Client = p({1<Product={'Limon'}, Client={"=Aggr(Count(distinct Product),Client)=1"}>}) >} Sales)
Приветствую! 
Спасибо  ;)