2015-04-24 10 views
0

Я нашел отличный учебник для building a nicer (dynamic) multibox, without extensions.QlikView: получить данные, отфильтрованные в сводной таблице

Я смог использовать его, и мне это очень нравится. Однако у меня есть проблема: , если я использую multibox с основной таблицей подробностей, тогда, если я отфильтрую ее из детали, тогда мастер автоматически будет выбран. Ниже пример показывает нормальный Multibox в верхней части, и динамическую/поворотную Multibox на дне:

enter image description here

Как я могу добиться этого с моим динамическими многокоробочным?

Для лейбла, я использую:

=if(IsNull(GetFieldSelections(master)) = -1, 'Master',GetFieldSelections(master)) 

с этим, я могу установить 'Master' в качестве метки.

Я вижу, что данные были отфильтрованы, но я не нашел функцию для получения данных, которые были отфильтрованы, чтобы установить ее на этикетке, может быть, кто-то здесь может дать мне совет, чтобы решить эту проблему.

ответ

1

GetFieldSelections() предоставит вам только отдельных товаров. Выбрав элементы в деталях, вы выбираете только из мастера неявно.

Попробуйте вместо этого использовать Concat(). Это даст вам список возможных значений для поля, которое непосредственно не выбрано.

Ваша следующая большая головная боль будет определять, когда показывать «Мастер» или нет. Один из возможных способов - сравнить полный список возможных значений в Мастере с возможным списком. В приведенном ниже примере я делаю это, сравнивая возможный счетчик count(master) с полным списком возможных значений в главном count({1}master).

Комбинируя их, одно решение может быть:

=if(count(master)=count({1}master),'Master',Concat(master,', ')) 
+0

привет Захари, спасибо. Прежде чем я попытаюсь загрузить то, чего хочу достичь из-за недоразумения, но я не могу этого сделать, потому что у меня нет репутации. после того, как я увижу ваш ответ, я могу завершить свой сценарий, чтобы достичь того, что я пытаюсь сделать. Это мой скрипт, помещенный в ярлык сейчас. '= if (IsNull (GetFieldSelections (master)) = -1, if (Count (master) = 1, master, 'Master'), GetFieldSelections (master))'. – uenokazuma

Смежные вопросы