У меня есть две таблицы в анализе. Я использую приведенный ниже сценарий, чтобы иметь возможность фильтровать таблицу 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)