目前報告的可編寫腳本的對象你好,
取得目前報告的可編寫腳本的物件的最佳方法是什麼?
如果它是圖形生成器對象,我可以使用
gb = Current Report()["Graph Builder"] << get scriptable object
這是驚人的強大 - 但只適用於圖形生成器物件。當用戶更改標題時它甚至可以工作。
如果沒有圖形產生器,我可以嘗試
so = Current Report()[Outline Box( 1 )] << get scriptable object
如果沒有本地資料過濾器,它將起作用,
沒有Column Switcher [啊,Column Switcher 是ColumnSwitcherContextOutlineBox ,沒有OutlineBox ]
並且沒有使用者定義 Dashboard [啊,Dashboard 是透過TabPageBox es 創建的,而不是OutlineBox es ]
對於本地資料過濾器的情況,我可以檢查標題:
ob = Current Report()[Outline Box( 1 )];
If( (ob << Get Title) == "Local Data Filter",
ob = Current Report()[Outline Box( 2 )]
);<BR />ob << get scriptable object;
此方法僅適用於英語語言設置,並且僅當使用者未更改OutlineBox的標題時才有效。
因此,最好檢查可編寫腳本的物件是否為資料過濾器:
Try (so = Current Report()[Outline Box( 1 )] << get scriptable object;
if (Char(Head(so)) == "Data Filter[]" ,
so = Current Report()[Outline Box( 2 )] << Get Scriptable Object),
Caption("failed to get a scriptable object") // user defined Dashboard
)
自動化和腳本編寫回覆:目前報告的可編寫腳本的對象使用“@helpKey”XML 屬性
Names Default To Here(1);
obs = Current Report() << XPath("//OutlineBox[@helpKey and not(@helpKey = 'Data Filter')]");
If(N Items(obs) > 0,
obj = obs[1] << Get Scriptable Object;
Show(obj);
);
Write();
XPath 查詢可能需要額外的修改,具體取決於它必須工作的位置。請注意,使用 XPath 您可能會遇到 JMP 的 XPath 查詢無法處理 XML 的問題( 如何為 << XPath() 啟用 XML_PARSE_HUGE? )。
回覆:目前報告的可編寫腳本的對象啊,不錯。謝謝。
回覆:目前報告的可編寫腳本的對象如果不使用,整個問題就會變得毫無意義
Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Local Data Filter
);
ob = Current Report()[Outline Box( 1 )];
If( (so << Get Title) == "Local Data Filter",
ob = Current Report()[Outline Box( 2 )]
);
ob << get scriptable object;
如果平台執行時取得了可腳本化對象
ob = Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Local Data Filter
);
即使執行多個平台,並且使用相同的 JSL 變數來引用可編寫腳本的對象,也可以使用簡單的 JMP 清單來收集可編寫腳本的對象,從而避免 Current Report() 可能帶來的所有混亂。
使用範例資料表 Big Class,以下腳本說明如何在執行點取得可編寫腳本的物件繞過 Current Report() 問題
names default to here(1);
dt=current data table();
objectList = {};
dis = Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) )
);
insert into(objectList, dis);
show(current report()[outlinebox(1)]<<GET title=""></GET>
<P>一個名為「新功能」的願望清單項目</P>
<CODE class=" language-jsl"><< Get Current Report Scriptable Object
可能有道理
回覆:目前報告的可編寫腳本的對象我的主要應用:
用於調整/與任何「現有」報告互動的命令。
所以,沒有機會填寫清單。
@tx尼爾森 wrote:
一個名為「新功能」的願望清單項目
<< Get Current Report Scriptable Object
可能有道理
好的:
訊息:取得目前報表可編寫腳本對象
ob & so -> 在主帖更正