Come aggiungere un dashboard creato dinamicamente al pannello Script di una tabella dati?Ciao a tutti,
Ho uno script JSL che consente all'utente di scegliere uno o più file di dati e quindi concatenare questi file insieme in una tabella di dati. Lo script crea quindi un dashboard per la tabella dati.
Per generare il JSL per la dashboard, ho prima creato manualmente una dashboard (File -> Nuovo -> Nuova dashboard), aggiungendovi grafici generati manualmente nel Dashboard Builder; Ho quindi copiato il codice del dashboard da Dashboard Builder (freccia rossa -> Salva script -> Nella finestra dello script) e l'ho incollato alla fine del mio script JSL.
Funziona tutto alla grande, tuttavia, il mio obiettivo è salvare il dashboard generato nel pannello Script della tabella dati, nello stesso modo in cui scegliendo la freccia rossa -> Salva script -> Nella tabella dati dal Dashboard Builder si salverà un dashboard alla tabella dei dati. Preferirei anche che la dashboard non venga visualizzata automaticamente (l'utente deve fare clic su di essa nel pannello Script quando vuole vederla).
Ho provato a cercare nel PDF di riferimento JSL e nelle discussioni della community, ma non ho trovato ciò di cui avevo bisogno. Qualcuno può indicarmi la giusta direzione? Il codice ripulito è allegato, omettendo la generazione della tabella dati.
Grazie!
Andy
Automazione e scriptingMac OSfinestreRi: Come aggiungere un dashboard creato dinamicamente al pannello Script di una tabella dati?Non utilizzo il generatore di applicazioni e costruirei lo script in un modo diverso. ma forse @DonMcCormack ha qualche idea? Questo potrebbe darti alcune idee su cosa potresti fare Perché non usi già App Builder? - (2023-US-30MP-1401) (sullo stesso argomento Scripters Club 2024: Sessione 1 - Application Builder )
Ri: Come aggiungere un dashboard creato dinamicamente al pannello Script di una tabella dati?Puoi provare qualcosa del genere:
dashboardExpr = Expr(
/* Code for JMP App goes here */
);
Eval(Substitute(
Expr(Current Data Table() << New Script("Dashboard",dbExpr)),
Expr(dbExpr),Name Expr(dashboardExpr)
));
Sostituisci la tabella dati corrente() con la tabella di riferimento a cui stai aggiungendo la dashboard. Potrebbero esserci altre variabili che devono essere inizializzate prima dell'esecuzione del Dashboard. Il titolo variabile alla riga 17 causava problemi, così come il blob inesistente attorno alla riga 24 (anche se posso capire perché non è stato incluso se hai scelto di lasciarlo fuori).
Ri: Come aggiungere un dashboard creato dinamicamente al pannello Script di una tabella dati?Grazie Don! Funziona perfettamente (e hai ragione riguardo al "titolo" e al blob).
R: Come aggiungere una dashboard creata dinamicamente al pannello Script di una tabella dati?@DonMcCormack
Ciao Don,
Ora utilizzo la tua soluzione.
Tuttavia, sai perché non è possibile risolvere con Eval und Expr?
Credevo di aver appena iniziato a capire Eval ed Eval Expr ma non funzionava con "New Script"
R: Come aggiungere una dashboard creata dinamicamente al pannello Script di una tabella dati?Come lo hai utilizzato?
Modificare:
Spero che questo dia qualche idea (suppongo che funzionerebbe in modo simile con l'espressione del dashboard)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt << Delete Scripts(dt << Get Table Script Names);
gb_expr = Expr(Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));
Eval(Substitute(
Expr(dt << New Script("GB1", myexpr)),
Expr(myexpr), Name Expr(gb_expr)
));
Eval(EvalExpr(
dt << New Script("GB2", Expr(Name Expr(gb_expr)));
));