Используйте сценарий Iron python для фильтрации и передачи выбора фильтров между таблицами - PullRequest
1 голос
/ 10 февраля 2020

У меня есть две таблицы в анализе. Я использую приведенный ниже сценарий, чтобы иметь возможность фильтровать таблицу A и передавать эти выборки фильтров в соответствующий фильтр в таблице B. Таблицы A и B визуализируются в виде гистограммы. Я запускаю код при изменении значения свойства документа, следуя инструкциям здесь .

У меня две проблемы.

1) После запуска сценария нажатие кнопки «Сбросить все фильтры» приводит к отображению только таблицы А в визуализации. Нажатие Сбросить все фильтры снова устраняет проблему.

2) Когда я добавляю второй фильтр (закомментированный в приведенном ниже коде), выбор в фильтре Type_A или Type_B стирает данные типа B из визуализации. Я думаю, проблема в том, как обрабатывается IncludeAllValues, но я не знаю, как это исправить. Любая помощь будет оценена.

from Spotfire.Dxp.Application.Filters import *
from Spotfire.Dxp.Application.Visuals import VisualContent
from System import Guid

#Get the active page and filterPanel
page = Application.Document.ActivePageReference
filterPanel = page.FilterPanel

theFilterA = filterPanel.TableGroups[0].GetFilter("Type_A")
lbFilterA = theFilterA.FilterReference.As[ListBoxFilter]()

theFilter2A = filterPanel.TableGroups[1].GetFilter("Type_A")
lb2FilterA = theFilter2A.FilterReference.As[ListBoxFilter]()
lb2FilterA.IncludeAllValues = False
lb2FilterA.SetSelection(lbFilterA.SelectedValues)


#########################Type_B###########################
# theFilterB = filterPanel.TableGroups[0].GetFilter("Type_B")
# lbFilterB = theFilterB.FilterReference.As[ListBoxFilter]()

# theFilter2B = filterPanel.TableGroups[1].GetFilter("Type_B")
# lb2FilterB = theFilter2B.FilterReference.As[ListBoxFilter]()
# lb2FilterB.IncludeAllValues = False
# lb2FilterB.SetSelection(lbFilterB.SelectedValues)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...