こんにちは。次のディスカバリ トークで示されたスクリプトに基づいて、マルチタブのダッシュボードを作成しています。 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(ラインアップボックス(N Col(2)));
hlb = Expr(H リスト ボックス());
//データフィルターで使用するデータテーブル名を取得します
wintitle = ダッシュ[i] << ウィンドウ タイトルを取得;
wordone = Word(1, wintitle, "-");
wordtwo = Word(2, wintitle, "-");
dtname = Substr(wordone, 1, Length(wordone)-1 );
dt = Eval Expr(データテーブル(Expr(dtName)));
// ダッシュボード名を取得する
ダッシュ名 = Substr(wordtwo, 2);
失敗 = 0;
j = 1;
// ダッシュボードのタブ ページ ボックスをループし、スクリプトを抽出します
While(失敗 ==0,
Try(tpb = ダッシュ[i] << Find(TabPageBox(j)),
失敗 = 1;続く();
);
// 表示ボックスにスクリプトが存在する場合は取得を試みます
Try(obj = tpb << スクリプト可能なオブジェクトを取得;
script = obj << スクリプトを取得、
j++;続く();
);
// スクリプトがローカル データ フィルター用の場合は、スクリプトを H リスト ボックスに追加します
If(Char(Head(Name Expr(script))) == "データ フィルター",
FilterExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
FilterExpr = Parse(FilterExprStr);
Insert Into(hlb,NameExpr(FilterExpr));
、
//それ以外の場合はラインナップボックスに追加します
If( Char(Name Expr(script)) != "Scriptable[]",
reportExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
reportExpr = Parse(reportExprStr);
スクロールボックス = Expr(スクロールボックス());
Insert Into(スクロールボックス, Name Expr(reportExpr));
Insert Into(lub,Name Expr(scrollbox));
);
);
j++;
);
// 表示ボックスを作成します
Insert Into(hlb, Name Expr(lub));
Insert Into(dfcb, Name Expr(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Insert Into(tabPage, Name Expr(dfcb), 2);
Insert Into(tb, Name Expr(tabPage));
);
// 結合されたダッシュボード ウィンドウを作成する
新しいウィンドウ(「Ac-225 トレンド ツール、v0.1」、TB);
// 個々のダッシュ レポートをすべて閉じる
For( w = 1, w <= N 項目 (ダッシュ), w ++,
ダッシュ[w] << ウィンドウを閉じる;
);
>
ただし、発見の話とは対照的に、私のダッシュボードは単一のデータ テーブルではなく、さまざまなデータ テーブルに基づいています。
すべてのデータ テーブルとダッシュボードを開いて、上記のスクリプトを実行して、すべてのダッシュボードを 1 つのマルチタブ ダッシュボードに結合します。 これにより、次のエラー メッセージが表示されます。

ダッシュボードからローカル データ フィルターを抽出できないようです。 開いているすべてのダッシュボードを結合できるように汎用スクリプトを変更する方法について何か提案はありますか?