Нужен код IronPython для вывода схемы фильтрации в Spotfire

Я хочу напечатать «имя» схемы фильтрации, специфичной для каждой страницы моей панели инструментов.

Например, на странице 1 информационной панели может быть схема фильтрации под названием «Схема фильтрации 1», а на странице 2 — «Схема фильтрации 2». У меня есть код, который выводит ВСЕ схемы фильтрации, но я не могу понять, как связать конкретную схему со страницей, на которой она находится.

for pg in Document.Pages:  
  print pg.Title                # the page name  
  myPanel = pg.FilterPanel  
  print myPanel.Title           # output is the word: Filters  
  # THIS IS WHERE I WOULD WANT THE FILTERING SCHEME NAME TO APPEAR
  print myPanel.Visible         # output: True  
  print myPanel.Context         # output:  Spotfire.Dxp.Application.Filters.FilterPanel  
  print myPanel.TypeId          # TypeIdentifier:Spotfire.FilterPanel  
  print myPanel.FilteringSchemeReference  
  for i in range(myPanel.TableGroups.Count):  
    for gcObj in myPanel.TableGroups[i].FilterCollectionReference:  
      myFilter= myPanel.TableGroups[i].GetFilter(gcObj.Name)  
      if myFilter.Visible:  
         szCanSee = ' <Visible>'  
      else:  
         szCanSee = ' <Hidden>'  
      print myFilter.FilterReference.ToString() + szCanSee

person user3224847    schedule 07.02.2014    source источник


Ответы (1)


Вы ищете класс DataFilteringSelection, который вы можете найти в API здесь: http://stn.spotfire.com/dxp/html/AllMembers_T_Spotfire_Dxp_Data_DataFilteringSelection.htm

Я сократил ваш код только до раздела, о котором спрашивали, так как вам, возможно, придется немного пересмотреть остальные, поскольку «myPanel» больше не будет FilterPanel.

  for pg in Document.Pages:  
    print pg.Title                # the page name  
    myPanel = pg.ActiveFilteringSelectionReference
    print myPanel.Name           # output is the filter name

Чтобы проверить это, я создал файл с 4 страницами: Введение, Решение 1, Решение 2 и Страница; и 2 фильтра: Схема фильтрации (1) и Схема фильтрации (2). Все использовали схему фильтрации (1), кроме решения 2, в котором использовалась схема фильтрации (2).

Вот мой результат:

>     Introduction
>     Filtering scheme (1)
>     Solution 1
>     Filtering scheme (1)
>     Solution 2
>     Filtering scheme (2)
>     Page
>     Filtering scheme (1)
person RyanfaeScotland    schedule 19.03.2014