Salve, sto creando un dashboard a più schede basato sullo script fornito nel seguente discorso di scoperta: https://community.jmp.com/t5/Discovery-Summit-Americas-2021/One-Multi-tabbed-Filterable-Dashboard-2021-US-30MP-803/ta-p/398667
Lo script utilizzato per combinare più dashboard è il seguente:
<
trattini = Trova tutto (report);
tb = Espr(Tab Box());
For(i = 1, i<= N elementi(trattini), i ++,
tabPage = Expr(Tab Page Box());
dfcb = Expr(Riquadro contesto filtro dati());
lub = Expr(Line Up Box(N Col(2)));
hlb = Expr(H Casella di riepilogo());
//Ottieni il nome della tabella dati da utilizzare con il filtro dati
wintitle = trattini[i] << Ottieni titolo finestra;
parolauno = Parola(1, wintitle, "-");
paroladue = Parola(2, wintitle, "-");
dtname = Substr(wordone, 1, Length(wordone)-1 );
dt = Eval Expr(Data Table(Expr(dtName)));
//Ottieni il nome del dashboard
dashName = Substr(paroladue, 2);
fallito = 0;
j = 1;
//Scorri le caselle della scheda nella dashboard ed estrai gli script
Mentre(fallito ==0,
Prova(tpb = trattini[i] << Trova(TabPageBox(j)),
fallito = 1; Continua();
);
//Prova a ottenere lo script dalla casella di visualizzazione se esiste
Try(obj = tpb << Ottieni oggetto con script;
script = obj << Ottieni script,
j++; Continua();
);
//Se lo script è per il filtro dati locale, aggiungi lo script alla casella di riepilogo H
If(Char(Head(Name Expr(script))) == "Filtro dati",
FilterExprStr = char(NomeEspr(dt)) || " << " || char(Nome Espr(script));
FilterExpr = Analizza(FilterExprStr);
Inserisci in(hlb,EspressioneNome(EsprFiltro));
,
//Altrimenti aggiungilo alla casella della scaletta
If( Char(Nome Espr(script)) != "Scriptable[]",
reportExprStr = char(NomeEspr(dt)) || " << " || char(Nome Espr(script));
reportExpr = Analizza(reportExprStr);
scrollbox = Espr(ScrollBox());
Inserisci in (scrollbox, Nome Expr(reportExpr));
Insert Into(lub,Name Expr(scrollbox));
);
);
j++;
);
// Costruisci le caselle di visualizzazione
Insert Into(hlb, Nome Expr(lub));
Inserisci in(dfcb, Nome Expr(hlb));
Insert Into(tabPage, Eval Expr(Title(Expr(dashName))), 1);
Insert Into(tabPage, Name Expr(dfcb), 2);
Insert Into(tb, Nome Expr(tabPage));
);
//Crea una finestra dashboard combinata
Nuova finestra("Strumento di tendenza Ac-225, v0.1", tb);
//Chiudi tutti i singoli report del cruscotto
For( w = 1, w <= N elementi(trattini), w ++,
trattini[w] << Chiudi finestra;
);
>
Tuttavia, a differenza del discorso sulla scoperta, i miei dashboard si basano su diverse tabelle di dati e non su una singola tabella di dati.
Ho tutte le tabelle di dati e i dashboard aperti ed eseguo lo script sopra per combinare tutti i dashboard in un dashboard a più schede. Questo dà il seguente messaggio di errore:

Sembra che non sia in grado di estrarre i filtri dei dati locali dalle mie dashboard. Qualche suggerimento su come posso modificare lo script generico per poter combinare tutti i dashboard aperti?