Applicazione di esempio di interfaccia "Launcher with Report" a un grafico di graphbuilder.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sono nuovo in JSL e sospetto che lo sto facendo nel modo sbagliato. Suggerimenti e idee sarebbero benvenuti.
Ho una tabella dati che contiene diverse versioni dei punteggi Z di modelli leggermente diversi.
Punteggio Z dal modello A Punteggio Z dal modello B....Punteggio Z dal modello X
Oggetto 1
Argomento 2
...
Soggetto n
Sto cercando di creare un'applicazione di visualizzazione dei dati in cui il cliente sceglierebbe una coppia di questi valori z e un valore critico.
Il grafico interattivo risultante sarebbe quindi un grafico XY dei valori Z e una linea orizzontale e una linea verticale, entrambe in corrispondenza del valore critico scelto.
Si spera che il cliente possa quindi spostare il mouse sul grafico e individuare individui con valori Z notevolmente diversi.
Ho costruito un grafico nel generatore di grafici che fa quello che voglio per una coppia di variabili.
Ho modificato l'avvio dell'applicazione di esempio con Report per restituire un valore X, un valore Y e un numero critico e sono riuscito a passare questi valori nel codice dal generatore di grafici.
OnModuleLoad({elementi},
yval = elementi[1];
xval = elementi[2];
critico = elementi[3];
);
Modificando la variabile x in xval (e la stessa cosa per l'asse y) posso far sì che l'applicazione di esempio cambi asse. C'è un codice di esempio alla fine del post.
Sto riscontrando due problemi.
#1. Non riesco a sopprimere la finestra di dialogo della colonna che si avvia automaticamente quando utilizzo xval/yval. (Se potessi fare in modo che la finestra di dialogo della colonna passi un valore critico... suppongo che potrei lavorarci.)
#2 Non riesco a individuare un modo adatto per modificare le linee di spedizione in modo che le linee verticali e orizzontali appaiano quando cambio i valori X, Y rispetto a quando ho creato il grafico nel generatore di grafici.
Sono semplicemente sull'albero sbagliato qui?
Grazie in anticipo per eventuali risposte.
| | | Rapporto1 = Piattaforma( | |
| | | | DataTable1, | |
| | | | Costruttore di grafici( | |
| | | | | Mostra Pannello di controllo( 0 ), | |
| | | | | Variabili( X( Eval( xval ) ), Y( Eval( yval ) ) ), | |
| | | | | Elementi( Punti( X, Y, Legenda( 1 ), Jitter( 1 ) ) ), | |
| | | | | Invia al rapporto ( | |
| | | | | | Spedizione( | |
| | | | | | | {}, | |
| | | | | | | "Valore Z da A", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Aggiungi linea di riferimento( | |
| | | | | | | | Valutazione (critica), |
| | | | | | | | Solido, |
| | | | | | | | "Rosso", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), | |
| | | | | | Spedizione( | |
| | | | | | | {}, | |
| | | | | | | "Valore Z da D", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Aggiungi linea di riferimento( | |
| | | | | | | | Valutazione (critica), |
| | | | | | | | Solido, |
| | | | | | | | "Rosso", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ) | |
| | | | | ) | |
| | | | ) | |
| | | ) | |
| | ), | |
Grazie
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.Grazie mille a tutti quelli che hanno risposto.
Iniziare è sempre la parte difficile.
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.Capisco: è sicuramente un problema quando i comandi Dispatch() si riferiscono a uno dei valori parametrizzati.Questo potrebbe essere un caso in cui lo scripting delle Ref Lines è più semplice che provare a utilizzare Dispatch.Dopo che gli oggetti sono stati creati (after thisModuleInstance < nello script per il Modulo1), dovresti includere qualcosa come:
Report1[AxisBox(1)] << Aggiungi linea di riferimento( critico, "Solido", "Nero", "", 2 );
Il comportamento predefinito di App Builder consiste nell'utilizzare la tabella dati corrente per qualsiasi casella o report che richieda una tabella.Per modificare ciò, selezionare la tabella dati nell'albero degli oggetti e modificare la proprietà "Posizione".Un valore "Prompt" ti chiederà sempre di selezionare (o aprire) la tabella.Tieni presente che la proprietà Location si applica solo in fase di esecuzione.È comunque necessario disporre di un percorso verso una tabella dati in modo che App Builder possa aprire la tabella in fase di modifica.
Sono disponibili lezioni online per ricevere aiuto nell'apprendimento di JSL.Il mese prossimo c'è un Introduzione Web dal vivo a JSL potrebbe essere utile.Ci sono altri classi inoltre, incluso uno per lo sviluppo di applicazioni utilizzando Application Builder, ma non sarà nuovamente disponibile fino a settembre.Puoi anche semplicemente acquistare il file appunti del corso da soli.Due libri di interesse sono Passa allo scripting JMP E JSL Companion: applicazioni del linguaggio di scripting JMP .
Spero che aiuti!
-Dan
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.Date un'occhiata alla presentazione allegata.Mostra come sviluppare un programma molto semplice utilizzando Application Builder.Il programma visualizza una finestra di dialogo in cui è necessario selezionare una tabella da utilizzare per creare alcuni grafici.
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.Dan,
Grazie n. 1 è esattamente ciò di cui avevo bisogno. Non avevo pensato all'avvio automatico rispetto all'intera applicazione, ma ha senso.
Per quanto riguarda il punto 2....La sezione valutazione (critica) funziona per ciò di cui ho bisogno. Volendo la potenza della selezione dei dati nel costruttore di grafici c'è la possibilità che un utente vada in posti che non avevo previsto. Grazie per l'avviso.
Quello che cercavo veramente era un modo per sostituire una qualche forma di eval(xval) con "Valore Z da A" nell'istruzione di spedizione.Sono in grado di imitare il comportamento che desidero inserendo un'istruzione di spedizione per ogni possibile variabile che potrebbe essere utilizzata, ma sono sicuro che non sia la pratica migliore.
| Spedizione( | |
| | | | | | | {}, | |
| | | | | | | "Valore Z da A", | |
| | | | | | | ScaleBox, | |
| | | | | | | {Aggiungi linea di riferimento( | |
| | | | | | | | Valutazione (critica), |
| | | | | | | | Solido, |
| | | | | | | | "Rosso", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), |
Esiste un modo per creare una finestra di dialogo per consentire all'utente di puntare a una tabella dati all'inizio dell'applicazione?
Non sono né nuovo alla programmazione né a JMP, ma sto guardando per la prima volta sotto il cofano di JPL e ho scoperto che il lavoro è molto più lento di quanto pensassi. Qualche consiglio su risorse o testi per trasformare il dirupo dell'apprendimento in una curva di apprendimento?
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.N. 1: seleziona "Applicazione" nell'albero degli oggetti.La proprietà "Avvio automatico" è selezionata per impostazione predefinita.Se deselezioni questa opzione, la finestra di dialogo Colonne non dovrebbe essere visualizzata durante l'esecuzione dell'applicazione.Quando questa opzione è disabilitata, si presuppone che lo sviluppatore scriverà il JSL appropriato per inizializzare le variabili dei parametri, cosa che hai già fatto.
N. 2: Application Builder attualmente supporta solo la parametrizzazione diretta dei ruoli della piattaforma.Dal tuo script di esempio, sembra che tu abbia modificato il file salvato per utilizzare "Eval( critical)" per le righe?L'ho testato con un semplice esempio di Graph Builder e sembrava funzionare per me.Potresti riscontrare problemi se App Builder deve salvare nuovamente il JSL affinché la piattaforma acquisisca le modifiche: ciò avviene generalmente solo quando invii un messaggio <
Un altro problema da sottolineare quando si modifica il JSL dietro un'applicazione JMP è il comportamento in fase di modifica.Quando apri un'app nell'editor, gli script/le finestre di dialogo di avvio non vengono eseguite, quindi App Builder sa creare i parametri xval, xval in modo che la piattaforma venga avviata correttamente.Lo stesso non accadrà per le modifiche apportate al JSL tramite l'editor.Se le variabili sono definite a livello globale, la piattaforma potrebbe comunque avviarsi come previsto, ma è possibile che anche le personalizzazioni vadano perse in questo modo.
Se vuoi inviarmi un'App di prova sarò felice di darle un'occhiata..
-Dan
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.L'ho risolto contrassegnando la tua risposta come risposta corretta e quindi annullandola.
-Jeff
Ri: Interfacciamento dell'applicazione di esempio "Launcher with Report" a un grafico da graphbuilder.controllato presuppone una risposta per errore e non è possibile determinare come deselezionarlo.
Non è una bella giornata.