2017-06-07 7 views
0

通じすなわちマーキングを設定:Spotfire: "limit data using markings" by python scriptはこの質問に似ていますが、まったく同じではないIPython

私は現在、このようになりますスクリプトがあります。

from Spotfire.Dxp import Data 
from Spotfire.Dxp.Application.Visuals import * 

#Remove the current Marking Filter 
for filtering in vis.As[VisualContent]().Data.Filterings: 
    vis.As[VisualContent]().Data.Filterings.Remove(filtering) 

#Set the new Marking Filter 
vis.As[VisualContent]().Data.Filterings.Add(Document.Data.Markings["Marking (4)"]) 

#Set the new Marking 
#Need code here 

私はマーキング新しいを設定する必要が私は別の視覚化のためにそれを使用することができるように視覚化のために。私は、コードのこの部分を使用してマーキングを設定することができる午前 enter image description here

UPDATE:具体的には、私は、このボックスを設定する必要が

vc = vis.As[VisualContent]() 
marking = vc.Data.MarkingReference 
marking.SetSelection(marking.GetSelection(dataTable),dataTable) 

これは私がしたいレコードをマークしていたが、それはしませんので、 [マーキング]ボックスの設定を変更すると、さらにドリルダウンすることはできません(設定されているのと同じマーキングにフィルタリングされます)。

答えて

0

は、このスクリプトは、最終的には私の仕事:

from Spotfire.Dxp import Data 
from Spotfire.Dxp.Application.Visuals import * 

if Document.Properties['KPIHierLevel'] == '<[SBA_NAME] NEST [MARKET_NAME]>': 
    Document.Properties['KPIHierLevel'] = '<[MARKET_NAME] NEST [BRAND]>' 
    for filtering in vis.As[VisualContent]().Data.Filterings: 
     vis.As[VisualContent]().Data.Filterings.Remove(filtering) 
    vis.As[VisualContent]().Data.Filterings.Add(Document.ActiveMarkingSelectionReference) 
    vis.As[VisualContent]().Data.MarkingReference = (Document.Data.Markings["Marking (7)"]) 
elif Document.Properties['KPIHierLevel'] == '<[MARKET_NAME] NEST [BRAND]>': 
    Document.Properties['KPIHierLevel'] = '<[BRAND] NEST [PRODUCT]>' 
    for filtering in vis.As[VisualContent]().Data.Filterings: 
     vis.As[VisualContent]().Data.Filterings.Remove(filtering) 
    vis.As[VisualContent]().Data.Filterings.Add(Document.ActiveMarkingSelectionReference) 
    vis.As[VisualContent]().Data.MarkingReference = (Document.ActiveMarkingSelectionReference) 

は私もこれに似ていますが、設定をリセットするスクリプトを作成したバックマーキング以外にマーキング(7)。

関連する問題