有沒有辦法同時為 2 列切換器建立報表?你好,
我想運行多個 t 檢驗,其中有多個 X 和 Y 的清單。有沒有辦法使用腳本來做到這一點?我稍微修改了用於 1 列切換器的腳本,但我不知道如何同時執行它們。例如這個較小的測試 (3x3):
Oneway(
Y(:Name("A")),
X(:Name("1")),
t Test(1),
Column Switcher(:Name("A"), {:Name("A"), :Name("B"), :Name("C")}),
Column Switcher(:Name("1"), {:Name("1"), :Name("2"), :Name("3")})
);
rpt = Current Report();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox(1)] << get scriptable object;
colswitch_list = colswitcher_obj << get list;
/* Loop through each column in the colswitch_list */
For(i = 1, i <= N Items(colswitch_list), i++,
/* Change here */
dt1 = rpt[Outline Box("t Test")][Table Box(1)] << make combined data table;
/* Concatenate the tables */
If(i == 1,
main_tb = dt1;
main_tb << Set Name("All");
,
Try(main_tb << Concatenate(dt1, Append to First Table));
Close(dt1, No Save);
);
/* Close temporary tables and switch next column */
colSwitcher_obj << Next;
);
自動化和腳本編寫回覆:有沒有辦法同時為 2 列切換器建立報表?您在循環內使用了錯誤的列切換器物件參考(具有 N Items(colswitch_list2) 的內部循環應更改 colSwitcher_obj2 << Next)。

也使用

將 JSL 發佈到 JMP 社群時,因為它使閱讀該貼文變得更加容易。
回覆:有沒有辦法同時為 2 列切換器建立報表?事實上,你是對的,現在它非常適合 10x10 的列(請參見下面的腳本)。
但我有一個問題,如果 X 列的數量與 Y 列的數量不完全相同,則切換不起作用!知道我做錯了什麼嗎?
// 分析和列切換器
單程(
Y(:姓名("553")),
X(:名稱(“1”)),
t 測試(1),
列切換器(:名稱("1"), {:名稱("1"), :名稱("2"), :名稱("3"), :名稱("4"), :名稱("5 " ), :名稱("6"), :名稱("7"), :名稱("8"), :名稱("9"), :名稱("10")}),
列切換器(:名稱("553"), {:名稱("553"), :名稱("554"), :名稱("555"), :名稱("556"), :名稱("557 " ), :名稱("558"), :名稱("559"), :名稱("560"), :名稱("561"), :名稱("562")}));
//報告創建
rpt = 目前報告();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox( 1 )] << 取得可編寫腳本的物件;
colswitcher_obj2 = rpt[ColumnSwitcherCOntextOutlinebox( 2 )] << 取得可編寫腳本的物件;
colswitch_list = colswitcher_obj << 取得清單;
colswitch_list2 = colswitcher_obj2 << 取得清單;
// 迴圈遍歷每個Y變數
For(j = 1, j <= N 項(colswitch_list), j++,
// 迴圈遍歷每個X變數
For(k = 1, k <= N 項(colswitch_list2), k++,
/* 在這裡修改 */
dt1 = rpt[大綱框( "t Test" )][表格框( 1 )] << 製作組合資料表;
/* 連接表 */
如果(j == 1 & k == 1,
main_tb = dt1;
main_tb << 設定名稱( "全部" );
,
Try( main_tb << Concatenate( dt1, 附加到第一個表格 ) );
關閉(dt1,不儲存);
);
// 切換到下一個 X 列
colSwitcher_obj << 下一個;
等待(0);
);
// 切換到下一個 Y 列
colSwitcher_obj2 << 下一個;
等待(0);
);
回覆:有沒有辦法同時為 2 列切換器建立報表?在不了解您的數據的情況下很難說。例如,您可能會遇到問題,其中一列包含大量類別,這會導致問題。也許加入 wait(0);在每個 << next 之後可能會有所幫助,但腳本仍然很可能非常慢。
另外,我認為您至少對 k 變數使用了不正確的最大計數(不應該是 N Items(col_switch_list2))。
回覆:有沒有辦法同時為 2 列切換器建立報表?我使用以下腳本修復了問題,但是當我在完整資料庫上運行它時,JMP 崩潰(我假設是記憶體問題),知道如何解決記憶體問題嗎?
單程(
Y(:姓名(“A”)),
X(:名稱(“1”)),
t 檢定(1),
列切換器( :名稱( "1" ), {:名稱( "1" ), :名稱( "2" ), :名稱( "3" )} ),
列切換器(
:姓名(“A”),
{:名稱( "A" ), :名稱( "B" ), :名稱( "C" )}
)
);
rpt = 目前報告();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox( 1 )] << 取得可編寫腳本的物件;
colswitcher_obj2 = rpt[ColumnSwitcherCOntextOutlinebox( 2 )] << 取得可編寫腳本的物件;
colswitch_list = colswitcher_obj << 取得清單;
// 迴圈遍歷每個Y變數
For(j = 1, j <= N 項(colswitch_list), j++,
// 迴圈遍歷每個X變數
For(k = 1, k <= N 項(colswitch_list), k++,
/* 在這裡修改 */
dt1 = rpt[大綱框( "t Test" )][表格框( 1 )] << 製作組合資料表;
/* 連接表 */
如果(j == 1 & k == 1,
main_tb = dt1;
main_tb << 設定名稱( "全部" );
,
Try( main_tb << Concatenate( dt1, 附加到第一個表格 ) );
關閉(dt1,不儲存);
);
// 切換到下一個 X 列
colSwitcher_obj << 下一個;
);
// 切換到下一個 Y 列
colSwitcher_obj2 << 下一個;
);
回覆:有沒有辦法同時為 2 列切換器建立報表?為此使用列切換器有什麼具體原因嗎?您可以循環遍歷列,隨時重新建立報告並提取結果。