從報告窗口獲取類似 jrp 的腳本大家好,
我正在嘗試將我的報告腳本保存到一個 jrp 文件中,如下所述:在 JSL 中將圖表保存為“.jrp”文件
但是,我無法直接訪問生成報告窗口的圖形生成器。
我通過以下方式獲取報告
Get Window List(Type("Reports"));
現在我需要提取腳本以將其保存為文本文件,但是我不知道如何獲取該腳本。
使用 << Get Script 時,我只會得到類似的東西
GraphBuilderBox(ScaleBox(ParallelScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(GraphBuilderContainerBox(Graph[...]
我如何獲得更像的文本
Graph Builder(
Size( 1896, 975 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(...
?
腳本回复:從報告窗口獲取類似 jrp 的腳本謝謝@MikeD_Anderson ! 我同意,這將是一個很好的補充。
回复:從報告窗口獲取類似 jrp 的腳本這個小金塊應該在 JSL Cookbook 中! 謝謝@txnelson ! @DonMcCormack
回复:從報告窗口獲取類似 jrp 的腳本非常感謝,做到了!
回复:從報告窗口獲取類似 jrp 的腳本“獲取窗口列表”返回窗口的頂級父級。
“Get Scriptable Object”是發送給 Outline Box() 的消息。因此,此修改應該可以滿足您的需求。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dis = Distribution( Continuous Distribution( Column( :height ) ) );
x = (Get Window List( Type( "Reports" ) )[1][Outline Box( 1 )] << get scriptable object());
x << get script;
回复:從報告窗口獲取類似 jrp 的腳本有趣的。 像這樣一步一步地做:
wList = Get Window List(Type("Reports"));
rep = wList[1] << report;
so = rep << Get Scriptable Object();
skr = so << get script();
Print( skr );我現在收到錯誤消息對象“HeadBox”無法識別消息“report”;也對象“HeadBox”無法識別消息“Get Scriptable Object”;如果我切斷報告信息。 所以獲取窗口列表(類型(“報告”));給我一個只能識別 Get Script 的前箱,這反過來又給了我同樣的舊
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box
我已經學到了一些東西,但我還沒有學到。 如何做我得到了我的窗口的腳本化對象?
回复:從報告窗口獲取類似 jrp 的腳本可能是您的消息在:
print(wList[1] << report << Get Scriptable Object() << get script());
沒有按照您認為的順序執行。
比較這兩個的結果:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
Print( (rbiv << Get Scriptable Object()) << get script() );
Print( rbiv << Get Scriptable Object() << get script() );
回复:從報告窗口獲取類似 jrp 的腳本感謝您的答复。 但是我還沒有設法解決我的問題。
打開現有的 .jrp 文件後,依次打開一個數據表和一個報告窗口,以下腳本:
wList = Get Window List(Type("Reports"));
print(wList[1] << report << Get Scriptable Object() << get script());wList = Get Window List(Type("Reports"));
print(wList[1] << Get Scriptable Object() << get script());都會導致
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box(V List Box(H List Box(ButtonBox, ButtonBox, ButtonBox), BorderBox(V List Box(H List Box(PopupBox, Text Box("40 Columns")), V List [... etc.]不是我要找的那種劇本。 這似乎是一個特例,因為我是從一個現有的報告窗口開始的。 我究竟做錯了什麼?
回复:從報告窗口獲取類似 jrp 的腳本查看 Get Scriptable Object() 消息。 您可以使用它來訪問報表中的平台(即 Graph Builder)。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
bivobj = rbiv << Get Scriptable Object();
bivobj<<GET script=""></GET>