2017-11-24 5 views
0

Spotfire 7.10을 사용하고 있습니다.Spotfire IronPython 특정 테이블의 필터 건너 뛰기

나는 활성 필터가 포함 된 문서 속성을 업데이트하는 스크립트가 있습니다. 일치하는 필터를 통해 I 루프, 이렇게하려면 "상태 : M"과 같이 검색 :

filterPanel.InteractiveSearchPattern = "status:m" 
for filter in filterPanel.FiltersMatchingSearchPattern: 
    filteroutput = filter.FilterReference.ToString() 
    content += filteroutput + "\n" 
내가 표 2에서 필터를 표시 해야하는 반면, 표 1에서 오는 필터를 건너 싶습니다

.

건너 뛰는 방법에 대한 아이디어가 있으십니까? 두 테이블 모두 이름이 겹치는 필드가 있습니다 (예 : "색상", 그래서 나는 이름으로 갈 수 없지만 원래의 데이터 테이블에 대한 참조가 필요합니다.

힌트를 주시면 감사하겠습니다.

답변

1

당신이 필요로하는 필터가 속한 테이블을 결정하기 위해 ParentGroup를 사용하고 당신이 그나마 사람을 건너 뛸 수 있습니다

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) 
관련 문제