2017-11-24 22 views
0

Ich benutze Spotfire 7.10.Spotfire IronPython Überspringe Filter von bestimmten Tabellen

Ich habe ein Skript, das eine Dokumenteigenschaft aktualisiert, die die aktiven Filter enthält. Um dies zu tun, ich Schleife über die Filter passend zum „Status: M“ wie so suchen:

filterPanel.InteractiveSearchPattern = "status:m" 
for filter in filterPanel.FiltersMatchingSearchPattern: 
    filteroutput = filter.FilterReference.ToString() 
    content += filteroutput + "\n" 

Ich mag würde Filter überspringen von Tabelle 1 kommt, während Filter in Tabelle 2 sollen angezeigt werden.

Irgendeine Idee, wie man über sie hinwegspringt? Beide Tabellen haben Felder mit überlappenden Namen, z. "Farbe", also kann ich nicht mit dem Namen gehen, brauche aber einen Verweis auf die Originaldatentabelle.

Alle Hinweise werden sehr geschätzt.

Antwort

1

können Sie die ParentGroup verwenden, um zu bestimmen, welche Tabelle der Filter gehört zu und überspringen dann die, die Sie nicht brauchen

import Spotfire.Dxp.Application.PanelCollection 

import Spotfire.Dxp.Application.PanelTypeIdentifiers 
from Spotfire.Dxp.Application import Panel 
from Spotfire.Dxp.Application.Layout import PanelState as ps 
for panel in Document.ActivePageReference.Panels: 
if panel.TypeId.DisplayName == "Filters": 
    panel.InteractiveSearchPattern = "status:m" 
    for filter in panel.FiltersMatchingSearchPattern: 
    filteroutput = filter.FilterReference.ToString() 
    print "Table-" + str(filter.Context.ParentGroup.Name) + "---Filter - " +str(filteroutput) 
Verwandte Themen