Come posso identificare un report in jsl se quel report non è associato a una variabile?Le tabelle possono essere indicate in JSL con un nome di variabile o con il titolo della tabella.Per esempio:
Se ho creato una tabella tramite una query:
dtMap = Apri banca dati (DSN, sqlStr, "Carta geografica" );
Posso quindi fare riferimento a quella tabella come dtMap o DataTable ("Map").
Se creo un rapporto:
Biv = Bivariato(Y(yy), X(xx));
Posso riferirmi ad esso come Biv.
Ma posso chiamarlo con un titolo o un nome?(ad es. Report("Adattamento bivariato di yy per xx"))
Normalmente preferisco usare il nome della variabile, ma ho un'applicazione in cui non ce l'ho e ho bisogno di fare riferimento al report con altri mezzi.
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Non c'è bisogno di scusarsi qui. (E se c'era, allora non pubblicarlo in primo luogo! J)
Grazie per aver segnalato tale omissione nella documentazione. Lo indagheremo ulteriormente.
Il messaggio appare in Aiuto > Indice degli script . La ricerca trova questo messaggio e visualizza le relative informazioni. Facendo clic sul Aiuto pulsante apre la documentazione per te. In questo caso, le uniche informazioni sono nel file Guida alla sintassi JSL . Apparentemente non c'è nulla nel Guida agli script JMP come hai sottolineato.
IL Indice degli script e il Guida alla sintassi JSL non sono ridondanti ma molto utili di per sé.
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?La funzione Window() è per uno script ed è usata da uno scripter. Il risultato di solito non è visibile all'utente. Lo scripter può vedere il risultato nel registro come aiuto per lo sviluppo e il debug.
Il risultato è utile perché in primo luogo conferma che è stato ottenuto un risultato di un elenco di riferimento a tutte le finestre aperte e in secondo luogo può essere utilizzato per lavorare con queste finestre come illustrato da Wendy e Ian. Il modulo "Window() << Get Window Title" utilizza il risultato della funzione (un elenco) e distribuisce il messaggio (Get Window Title) a ciascun elemento dell'elenco. Il risultato del messaggio è un nuovo elenco con il titolo di ogni finestra aperta come stringa di caratteri. Quindi non è necessario comprendere il risultato di Window() ("output criptico") per usarlo.
Dipende solo da cosa vuoi fare. Se ottengo il riferimento alla finestra, posso fare qualsiasi cosa con la finestra con funzioni e messaggi. Se ottengo il titolo della finestra, che potrebbe significare qualcosa per l'utente, quell'informazione ha un'utilità alquanto limitata in uno script.
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Consentitemi di aggiungerne uno compatibile con JMP.Scusa!!
Ma perché una ricerca nella guida allo scripting per:
Ottieni il titolo della finestra
O
GetWindowTitle
non produrre corrispondenze?
E solo una ricerca di Window() corrisponde
Show Window(), Print Window(), New Window() e DataTable Window()?
Suggerisco di aggiungerle da qualche parte nei primi capitoli, poiché sembrano essere funzioni piuttosto basilari per la gestione delle finestre in JMP.
Sei d'accordo?
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Grazie a tutti.
Anche una variabile impostata come la riga sottostante fornisce all'utente un output criptico, anche se JMP sa cosa significa.
XXX = Finestra ();
mostra(xxx);
xxx = {DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox]};
O:
XXX << Ottieni il titolo della finestra ;
O l'unica riga:
xxx = Finestra () << Ottieni il titolo della finestra ;
Lavori.
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Per costruire su ciò che Mark e Melanie hanno già detto:
NamesDefaultToHere(1);
// Make a report, but don't keep any reference to it
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Bivariate(X(:height), Y(:weight));
// See which windows are open in the current session and find the window of interest
openW = Window();
myWin = {};
for(w=1, w<=NItems(openW), w++,
winTitle = openW[w] << getWindowTitle;
Print(winTitle);
if(Contains(winTitle, "Bivariate"), InsertInto(myWin, openW[w]))
);
// Do a linear fit in each Bivariate report that we found
Wait(2);
for(w=1, w<=NItems(myWin), w++,
// Get the scriptable object for the Bivariate 'analysis layer'
thisSO = myWin[w]["Bivariate ?"] << getScriptableObject;
// Fit the line
thisSO << fitLine;
);
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?È possibile ottenere direttamente un elenco dei titoli delle finestre come stringhe:
Window() << Get Window Title
Restituisce qualcosa del genere:
{"Script", "Big Class", "Big Class - Distribution"}Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Devi guardare i risultati restituiti dal file Finestra() funzione nel registro. Questa visualizzazione verifica semplicemente che ci sono un gruppo di finestre aperte e identifica la radice di ogni albero di visualizzazione con un nome generico.
È possibile salvare questo elenco in una variabile e quindi scorrere l'elenco esaminando ogni elemento. Ad esempio, potresti ottenere il titolo della finestra e controllarlo per vedere se è quello che desideri. Se lo è, puoi salvarlo e uscire dal giro. Ora usa il riferimento ottenuto in questo modo come se lo avessi salvato in primo luogo.
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?Grazie mille per una rapida risposta.
L'output che ottengo da Windows() sembra molto generico.non ci sto capendo qualcosa.
{DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox],
DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox],
DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox], DisplayBox[HeadBox]}
Ri: Come posso identificare un report in jsl se quel report non è associato a una variabile?È possibile fare riferimento a piattaforme Bivariate aperte in base all'indice utilizzando la sintassi dell'indice, ad esempio Bivariate[1]. L'indice è l'ordine in cui sono stati lanciati.
Puoi utilizzare la funzione Window() per ottenere un elenco di finestre aperte e quindi iterare sui suoi elementi per trovare ed esaminare tutte le piattaforme di un particolare tipo.