Hallo, ich erstelle ein Dashboard mit mehreren Registerkarten basierend auf dem Skript im folgenden Entdeckungsvortrag: https://community.jmp.com/t5/Discovery-Summit-Americas-2021/One-Multi-tabbed-Filterable-Dashboard-2021-US-30MP-803/ta-p/398667
Das zum Kombinieren mehrerer Dashboards verwendete Skript ist das folgende:
<
Bindestriche = Alle finden (Berichte);
tb = Expr(Tab Box());
For(i = 1, i<= N Items(dashes), i ++,
tabPage = Expr(Tab Page Box());
dfcb = Expr(Data Filter Context Box());
lub = Expr(Line Up Box(N Col(2)));
hlb = Expr(H List Box());
//Datentabellennamen zur Verwendung mit dem Datenfilter abrufen
wintitle = dashes[i] << Fenstertitel abrufen;
wordone = Word(1, wintitle, "-");
wordtwo = Word(2, wintitle, "-");
dtname = Substr(wordone, 1, Length(wordone)-1 );
dt = Eval Expr(Data Table(Expr(dtName)));
//Dashboard-Namen abrufen
dashName = Substr(wordtwo, 2);
fehlgeschlagen = 0;
j = 1;
//Durchlaufen Sie die Registerkartenfelder im Dashboard und extrahieren Sie die Skripte
While(fehlgeschlagen ==0,
Try(tpb = dashes[i] << Find(TabPageBox(j)),
fehlgeschlagen = 1; Weitermachen();
);
//Versuchen Sie, das Skript aus dem Anzeigefeld abzurufen, falls es vorhanden ist
Try(obj = tpb << Get Scriptable Object;
script = obj << Skript abrufen,
j++; Weitermachen();
);
//Wenn das Skript für den lokalen Datenfilter bestimmt ist, fügen Sie das Skript zum H-Listenfeld hinzu
If(Char(Head(Name Expr(script))) == "Datenfilter",
FilterExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
FilterExpr = Parse(FilterExprStr);
Einfügen in(hlb,NameExpr(FilterExpr));
,
//Andernfalls zum Aufstellungsfeld hinzufügen
If( Char(Name Expr(script)) != "Scriptable[]",
reportExprStr = char(NameExpr(dt)) || " << " || char(Name Expr(script));
reportExpr = Parse(reportExprStr);
scrollbox = Expr(Scroll Box());
Insert Into(scrollbox, Name Expr(reportExpr));
Einfügen in(lub,Name Expr(scrollbox));
);
);
j++;
);
//Bauen Sie die Anzeigeboxen auf
Einfügen in(hlb, Namensausdruck(lub));
Einfügen in(dfcb, Namensausdruck(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Einfügen in(tabPage, Name Expr(dfcb), 2);
Einfügen Into(tb, Name Expr(tabPage));
);
//Kombiniertes Dashboard-Fenster erstellen
Neues Fenster("Ac-225 Trending Tool, v0.1", tb);
//Schließen Sie alle einzelnen Dash-Berichte
For( w = 1, w <= N Items(dashes), w ++,
dashes[w] << Fenster schließen;
);
>
Im Gegensatz zum Discovery Talk basieren meine Dashboards jedoch auf verschiedenen Datentabellen und nicht auf einer einzigen Datentabelle.
Ich habe alle Datentabellen und Dashboards geöffnet und führe das obige Skript aus, um alle Dashboards in einem Dashboard mit mehreren Registerkarten zusammenzufassen. Dies ergibt die folgende Fehlermeldung:

Es sieht so aus, als ob die lokalen Datenfilter nicht aus meinen Dashboards extrahiert werden können. Gibt es einen Vorschlag, wie ich das generische Skript ändern kann, um alle geöffneten Dashboards kombinieren zu können?