回复:使用 JSL 在一份報告中保存多個圖表的摘要右鍵單擊其中一個匯總表並選擇“製作成組合表”。 那對你有用嗎?
回复:使用 JSL 在一份報告中保存多個圖表的摘要感謝您的建議!
我實際上並沒有為此使用匯總表,我正在嘗試使用 JSL 在控製圖生成器上使用“保存匯總”按鈕。 我需要保存單個報告選項卡中存在的許多圖表的摘要。 如果我可以提供有關此的任何進一步信息,請告訴我,謝謝!
回复:使用 JSL 在一份報告中保存多個圖表的摘要是否要保存顯示在控製圖右側的所有匯總? 您是否希望將摘要一起放在一個數據表中?

我之前的建議是將所有這些信息放在一個數據表中,在我的示例中如下所示:

此代碼說明瞭如何通過腳本實現此結果:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ccb = dt << Control Chart Builder( Variables( Y( :height, :weight ) ), Show Control Panel( 0 ) );
summary = Report( ccb )[TableBox(1)] << Make Combined Data Table;
回复:使用 JSL 在一份報告中保存多個圖表的摘要@馬克貝利這次真是萬分感謝! 我發現這對於在一個報告中獲取多個圖表的整個圖表的摘要非常有幫助。 但是,如果可能的話,我希望能夠獲得每個圖表上每個點的摘要。 使用所附圖像中的按鈕時它的工作原理。
使用 JSL 可以做到這一點嗎?
我現在看到這在使用時有效: summary = Report( ccb ) << Save Summaries;
但是,我的數據集還有另一層,這使得這不那麼直接。 在我的數據集中,根據另一個表中的行數,在報告中使用的不僅僅是一個控製圖生成器。 因此,當在我分配控製圖生成器的對像上運行 << 保存摘要時,我只會得到最後製作的圖表的摘要,而不是所有圖表的摘要。 有沒有辦法讓 JMP 查看其他圖表,以便我保存這些摘要?
同時,我將嘗試調整 Big Class 數據集,以更清楚地說明我想要做什麼。
回复:使用 JSL 在一份報告中保存多個圖表的摘要是的,這段代碼是解決方案的基礎:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Control Chart Builder( Variables( Y( :weight, :height ) ) );
dt = obj << Save Summaries;
您是否一次為多個響應啟動控製圖生成器? 如果是這樣,您應該為每個響應獲取一個數據表。 您是否正在迭代響應並一次為一個響應啟動控製圖生成器?
回复:使用 JSL 在一份報告中保存多個圖表的摘要嘿@馬克貝利,我相信這裡應該可以更好地了解我的數據是如何設置的。 我通過添加以下內容調整了 Big Class 數據集:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window ("Charts",
For ( i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder( Variables( Y( :height, :weight ) ), Show Control Panel( 0 ), SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text( name || " Individual & Moving Range chart of height" )}
)
) );
); );
dt = obj << Save Summaries;添加了“新窗口”和“for”藥水以反映我正在尋找的東西。 如果運行上面的代碼,在“圖表”窗口內是 40 個具有所有相同數據的圖表。 為了我們在這裡做的事情,請假設每個圖表都有不同的數據,因此有不同的摘要。 當“保存摘要”在底部運行時,我沒有得到所有圖表的摘要,只是“圖表”窗口中的最後一張圖表。
我有什麼辦法可以讓這段代碼提取它運行的任何圖表的摘要嗎? 例如,如果我想要“圖表”窗口中的 35 個圖表的摘要,我可以像上面的示例一樣使用 JSL 獲得嗎?或者我能以某種方式將它們全部拉出來嗎?
如果我可以提供更多信息,請告訴我。 為了回答你之前的問題,我相信正在發生的事情是每個實例都在迭代自身,所以我無法保存變量摘要。 希望對您有所幫助,謝謝您的幫助!
回复:使用 JSL 在一份報告中保存多個圖表的摘要以下是我嘗試的順序的三個建議。
您可以嘗試編寫腳本製作組合數據表

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
)
);
dt_summaries = nw["Control Chart Builder", "height Limit Summaries", Table Box(1)] << Make Combined Data Table;
或者您可以在循環期間存儲對這些控製圖構建器的引用,然後使用保存摘要再次循環(您很可能應該在循環內保存值,然後關閉表):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ccb_list = {};
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
Insert Into(ccb_list, obj);
);
);
For(i = 1, i <= N Items(ccb_list), i++,
dt_temp = ccb_list[i] << Save Summaries;
show(dt_temp);
//Close(dt_temp, no save);
);
或者你可以使用 XPath 來獲取引用(我會再次循環它們以避免打開太多表)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
);
);
//((nw << XPath("//OutlineBox[text()='Control Chart Builder']")) << get scriptable object) << Save Summaries;
如果<< 保存摘要確實打開了多個表,您可能必須使用類似 Get Data Table List();查看哪些是新的,處理它們然後關閉它們。
回复:使用 JSL 在一份報告中保存多個圖表的摘要這次真是萬分感謝! 我最終使用了您發送的第二個版本,它非常適合我正在做的事情。
謝謝!
使用 JSL 將多個圖表的摘要保存在一份報告中我運行了一份報告,將 2 到 26 個圖表吐出到一個報告標籤中,以便可以在一個選項卡中同時查看它們。 我想找到一種方法讓它使用 JSL 匯出報告中所有圖表的保存摘要。 目前,我只需按住 CTRL 鍵並單擊所附圖像中的按鈕,它就會將我需要的所有內容匯出到許多資料表中。
有沒有辦法可以強制 JMP 僅使用 JSL 提取報表上的儲存摘要? 將摘要一一拉入資料表中就可以了。 我見過的所有其他範例包括將控製圖生成器分配給一個對象,然後保存這些摘要。 我寧願不這樣做,但如果這是我唯一的選擇,我可以這樣做。
謝謝!
大規模客製化視窗