您好,我正在根據以下發現談話中給出的腳本創建一個多選項卡式儀表板: https://community.jmp.com/t5/Discovery-Summit-Americas-2021/One-Multi-tabbed-Filterable-Dashboard-2021-US-30MP-803/ta-p/398667
用於組合多個儀表板的腳本如下:
<
破折號=查找所有(報告);
tb = Expr(標籤框());
For(i = 1, i<= N 項(破折號), i ++,
tabPage = Expr(標籤頁框());
dfcb = Expr(數據過濾器上下文框());
lub = Expr(Line Up Box(N Col(2)));
hlb = Expr(H 列錶框());
//獲取要與數據過濾器一起使用的數據表名稱
wintitle = dashes[i] << 獲取窗口標題;
wordone = Word(1, wintitle, "-");
wordtwo = Word(2, wintitle, "-");
dtname = Substr(wordone, 1, Length(wordone)-1 );
dt = Eval Expr(數據表(Expr(dtName)));
//獲取儀錶盤名稱
dashName = Substr(wordtwo, 2);
失敗 = 0;
j = 1;
//遍歷儀表板中的標籤頁框,並提取腳本
而(失敗==0,
嘗試(tpb = 破折號 [i] << 查找(TabPageBox(j)),
失敗 = 1;繼續();
);
//如果存在則嘗試從顯示框中獲取腳本
嘗試(obj = tpb << 獲取腳本對象;
script = obj << 獲取腳本,
j++;繼續();
);
//如果腳本用於本地數據過濾器,則將腳本添加到 H 列錶框
If(Char(Head(Name Expr(script))) == "數據過濾器",
FilterExprStr = char(NameExpr(dt)) || “<<” ||字符(名稱表達式(腳本));
FilterExpr = Parse(FilterExprStr);
插入 (hlb,NameExpr(FilterExpr));
,
//否則將其添加到陣容框中
If( Char(Name Expr(script)) != "Scriptable[]",
reportExprStr = char(NameExpr(dt)) || “<<” ||字符(名稱表達式(腳本));
reportExpr = Parse(reportExprStr);
scrollbox = Expr(滾動框());
Insert Into(scrollbox, Name Expr(reportExpr));
Insert Into(lub,Name Expr(scrollbox));
);
);
j++;
);
//建立顯示框
插入(hlb,名稱 Expr(lub));
插入(dfcb,名稱 Expr(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Insert Into(tabPage, Name Expr(dfcb), 2);
插入(tb,名稱 Expr(tabPage));
);
//創建組合儀錶盤窗口
新窗口(“Ac-225 趨勢工具,v0.1”,待定);
//關閉所有單獨的破折號報告
For( w = 1, w <= N 項(破折號), w ++,
破折號[w] << 關閉窗口;
);
>
然而,與發現談話相反,我的儀表板基於不同的數據表,而不是單個數據表。
我打開了所有數據表和儀表板,並運行上述腳本以將所有儀表板組合成一個多選項卡式儀表板。 這會給出以下錯誤消息:

看起來它無法從我的儀表板中提取本地數據過濾器。 關於如何更改通用腳本以便能夠組合所有打開的儀表板的任何建議?