Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLSulla base delle informazioni condivise di seguito, è possibile creare collegamenti a un JMP Journal utilizzando il metodo "apri tutti i file".
https://community.jmp.com/t5/Statistical-Thinking-for/Saving-Your-Work-in-a-JMP-Journal/ta-p/271841
Vorrei implementare una funzionalità nella GUI in cui è possibile cliccare su un pulsante per creare un collegamento al journal simile al metodo mostrato nel video a cui si fa riferimento (senza trasferire l'intera interfaccia GUI al Journal, ma solo creando un collegamento). Il JSL per creare un collegamento al journal consente solo di collegare tabelle di dati. Come posso creare un collegamento per tutti i grafici nella nuova finestra? Apprezzo qualsiasi assistenza in merito.
Ad esempio, come posso trasferire la seguente nuova finestra in un JMP Journal e presentarla sotto forma di collegamento?
//
I nomi predefiniti sono qui (1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2= Nuova finestra( "Nuova finestra",
Bivariata (y( :peso ), x( :altezza ) );
);
nw2 << Salva lo script ByGroup nel diario;
Modellazione statistica avanzataAutomazione e scriptingAnalisi e modellazione dei dati di baseAccesso ai datiRe: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLNon sono esattamente sicuro di cosa vuoi, ma potrebbe essere questo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
biv = Bivariate( y( :weight ), x( :height ) )
);
biv << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;
PS Si prega di utilizzare l'icona JSL in cima alla finestra di anteprima quando si inserisce JSL. Rende più facile la lettura e la comprensione del codice.
Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSL
Questo è esattamente il risultato che volevo.
Inoltre, oltre al metodo "aggiungi tutti i file aperti", esiste un modo per aggiungere solo un file aperto "nome specificato" specifico? Ad esempio, aggiungere solo il collegamento "Nuova finestra" nell'elenco Journal.
Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLAvrei dovuto indirizzarti allo Scripting Index (sotto Help pull down) nella mia prima risposta alla tua domanda. Lo Scripting Index ti mostrerà i messaggi che possono essere passati agli oggetti, come il messaggio Add All Open Files. Nella mia prima risposta noterai che il messaggio viene inviato a un OutlineBox() referenziato dalla variabile "ob". Se guardi nella Scripting Guide e selezioni OutlineBox, vedrai tutti i messaggi che puoi specificare per aggiungervi elementi.

Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLPenso di non aver spiegato chiaramente il problema. Quello che vorrei chiedere è se "aggiungi tutti i file aperti" invia automaticamente tutti i file JMP attualmente aperti come oggetti collegati. Tuttavia, quello che voglio è che l'utente possa selezionare solo i file desiderati da queste finestre aperte, anziché aggiungerli tutti, e non usare "Aggiungi riferimento file" per aggiungere file salvati. Come mostrato nell'immagine seguente, voglio che l'utente possa selezionare il "file aperto" che desidera aggiungere.

Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLLa mia precedente risposta apparentemente non è stata molto chiara. Il fatto che io abbia indicato a yo9 l'indice Scripting e i vari messaggi che possono essere passati a una Outline Box ha lo scopo di indirizzarti a una buona fonte per capire come scrivere il JSL per risolvere i requisiti specifici che hai.
Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLGrazie per la risposta. Capisco cosa intendi. Stai dicendo che devo inviare gli elementi che voglio salvare nella casella di riepilogo per la registrazione. Tuttavia, al momento so solo che "ob << add all open files" può essere utilizzato per inviare tutti i file aperti contemporaneamente. Non so come inviare uno specifico file aperto alla casella di riepilogo. Puoi darmi qualche suggerimento?
Inoltre, ho un'altra domanda. Quando uso "ob << add all open files" e il link appare sul Journal, ho notato che la funzionalità dei pulsanti sembra scomparire. Ad esempio, nel JSL mostrato di seguito, inizialmente c'era un pulsante, ma sembra mancare dopo aver cliccato sul link nel Journal. Come posso fare in modo che la funzionalità del pulsante continui a esistere?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw2 = New Window( "New window",
outputGButton = Button Box( "Test", print("test");
),
biv = Bivariate( y( :weight ), x( :height ) )
);
nw2 << Save ByGroup Script to Journal;
Current Journal() << append( ob = Outline Box( "All Files" ) );
ob << Add All Open Files;Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLIl JSL della tua ultima risposta crea una casella di visualizzazione Window Object con una variabile denominata "nw2" che viene utilizzata per consentire di fare riferimento a tale casella di visualizzazione. L'azione predefinita di un Window Object è quella di creare una nuova finestra di visualizzazione
nw2 = New Window( "New window",
All'interno dell'oggetto Window c'è una casella di visualizzazione dei pulsanti con il nome "Test" e uno script, "Print("test")". con una variabile denominata "OutputGButton" che viene utilizzata per fare riferimento alla casella dei pulsanti.
outputGButton = Button Box( "Test", print("test");
)
L'oggetto successivo all'interno dell'oggetto Window è il JSL per eseguire una piattaforma bivariata, con una variabile denominata "biv" che viene utilizzata per fare riferimento all'oggetto piattaforma bivariata. L'azione predefinita della piattaforma bivariata è di eseguire un'analisi bivariata e di visualizzare l'output in una nuova finestra o in questo caso di visualizzare l'output all'interno dell'oggetto finestra nw2. 2 elementi vengono passati alla piattaforma bivariata. Il peso della colonna viene passato all'elemento Y e l'altezza della colonna viene passata all'elemento X
biv = Bivariate( y( :weight ), x( :height ) )
A questo punto nel JSL, la definizione dell'oggetto finestra nw2 è completata con la chiusura ")"
Sto entrando in questo livello di dettaglio per illustrare come le righe successive all'interno dello script interagiscono con l'oggetto finestra nw2 o con uno degli oggetti all'interno dell'oggetto finestra nw2.
Ogni oggetto definito ha messaggi che possono essere passati a loro. Diversi tipi di oggetti hanno un diverso elenco di messaggi che possono essere passati a loro. L'oggetto finestra nw2 ha messaggi come "Imposta titolo finestra", "Porta finestra in primo piano", "Chiudi finestra" ecc. L'elenco completo dei messaggi che possono essere inviati a un oggetto finestra è elencato nello Scripting Index

nello script corrente
nw2 << Save ByGroup Script to Journal;
ha il messaggio "Save ByGroup Script to Journal" che viene passato all'oggetto finestra nw2. Tuttavia, quel messaggio non è un messaggio disponibile per un oggetto finestra.
Salva script ByGroup nel journal è un messaggio disponibile per le piattaforme JMP.
L'unico oggetto nello script a cui questo messaggio può essere passato è la piattaforma Bivariate a cui fa riferimento la variabile biv
biv << Save ByGroup Script to Journal;
Tuttavia, quando viene utilizzato in questo modo, lo script passato al journal contiene solo il JSL per eseguire Bivariate, non lo script per eseguire il JSL completo che crea l'oggetto finestra con la sua casella dei pulsanti e la piattaforma Bivariate.
Ciò che bisognerà fare è scrivere il JSL che inserisce in un journal una casella di pulsanti contenente tutto il JSL attualmente presente nella definizione dell'oggetto finestra nw2.
Fondamentalmente, ciò che fa lo script Save ByGroup su Journal è creare una casella di pulsanti con uno script specificato. Se il requisito è di avere qualcosa di diverso nella casella di pulsanti rispetto alla funzionalità data, allora spetta all'utente scrivere il codice per apportare le modifiche. Di seguito è riportato uno script che fa la stessa cosa di Save ByGrooup... ma aggiunge nella casella di pulsanti specificata prima dell'output del Bivariate
Names Default To Here( 1 );
//dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
file = pick file();
dt = open(file);
biv = dt << Bivariate( y( :weight ), x( :height ), invisible );
theScript = Char( biv << get script );
biv << close window;
Eval(
Parse(
"New Window( \!"My Journal\!",
<<JOURNAL></JOURNAL>
<P>Utilizza anche l'aggiunta Menu(1) ad Aggiungi tutti i file aperti, per consentire all'utente di scegliere i file da aggiungere</P>Re: Come implementare "Salvataggio del lavoro in un journal JMP" utilizzando JSLQui è meno ovvio che in molti altri casi, ma, come accennava Jim, lo Scripting Index fornisce la soluzione. << Aggiungi tutti i file aperti ha un argomento opzionale che ti permetterà di scegliere i file a cui vuoi collegarti nella Outline Box.

ob << Add All Open Files( Menu( 1 ) );
