2

У меня есть два списка: Box1 и Box2. Box1 имеет значения 10,20,30,40 и т. Д., А Box2 имеет те же самые 10,20,30 и т. Д.Как выбрать конкретный номер в списке и сделать другой список, чтобы отображать только цифры, превышающие выбранный номер в QlikView?

После создания двух отдельных списков для Box1 и Box2 соответственно на панели инструментов, как я могу показать только значения в Box2, которые больше, чем выбранные значения/значения в Box1.

Пример: Когда я нажимаю 20 в Box1, я хочу, чтобы значения 30, 40 и т. Д. Отображались или показывались в окне2, то есть должны отображаться значения больше 20. Спасибо.

ответ

2

Альтернативный способ сделать это было бы создать List Box, но вместо того, чтобы его использовать нормальное поле, установите его использовать (выберите его в поле «Поле» в свойствах).

Затем можно использовать следующее выражение, которое должно сделать трюк:

=aggr(if(F2 > max(F1),F2,if(GetSelectedCount(F1)<>0,null(),F2)),F2) 

В приведенном выше, первое поле F1 (т.е. Box1), а второй F2 (т.е. Box2).

Ниже приведен пример того, как это выглядит на практике (третий прямоугольник справа содержит выражение), первое изображение показывает, что произойдет, если некоторые значения выбраны в F1 - список значений фильтруется.

На втором изображении в этом новом списке отображается выбор, и, как вы можете видеть, он делает выбор против F2 автоматически.

An example from QlikView when using the expression An example from QlikView when using the expression and selecting values

+0

Это еще одна отличная альтернатива для этого. Спасибо – Archid

+0

Кроме того, это работает лучше для нескольких выборов, и если мы не хотим использовать функцию триггера. Поэтому я бы пошел на это решение в любой день, если я не буду использовать триггеры. – Archid

1

Существует несколько способов достижения этого.

  • установить триггер «на выбор» для поля Box1. Триггер очистит выбранные значения в Box2 и выберет только значения, которые больше, чем выбранное значение Box1
  • в скрипте - это сильно зависит от набора данных, который у вас есть. Идея состоит в том, чтобы объединить поля Box1 и Box2 в отдельной таблице как много-ко-многим, а затем отфильтровать значения, где Box2> Box1. Использование этого подхода более понятно для меня, и никаких триггеров не требуется, но опять же это зависит от ваших данных.

Ive сделал небольшое приложение, которое показывает два подхода https://drive.google.com/file/d/0BxjGsOE_3VoOc29aYXVsanN3azA/view?usp=sharing

+0

Спасибо за тонну. Это сработало. Cheers – Archid

+0

@Archid Если это сработало для вас, пожалуйста, найдите время, чтобы отметить ответ как принятый. Спасибо! –

+0

Просто сделал. Извините, что я пропустил это в последний раз – Archid