Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Salve, ho cercato di utilizzare i riferimenti agli oggetti nelle piattaforme di analisi (grafici, tabelle, ecc.) negli script, ma secondo me non è molto intuitivo dagli esempi che ho visto.
Ho più casi d'uso, ma spero di trovare una descrizione generica o un manuale su come trovare il riferimento a qualsiasi oggetto in una piattaforma di analisi. Immagino che esista da qualche parte su questo sito ma non sono riuscito a trovarlo.
Automazione e scriptingPersonalizzazione di massaRi: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?C'è anche una funzione di utilità per aiutare a determinare il percorso migliore per una casella di visualizzazione.

Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?
poiché non ho accesso a JMP17.
Veramente?
L'avrei immaginato Voi ottieni la tua modifica della firma JMP Pro speciale, personale e gratuita il primo giorno in cui esce una nuova versione
... per supportarti il più possibile nel supportare gli altri 
Re: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?un altro trucco:
Genera il codice XML per il report corrente (non solo il report dell'oggetto; pensa ai filtri dei dati, ecc.)
Ho collegato il codice seguente a una scorciatoia da tastiera e ora posso ottenere il codice XML per qualsiasi report che desidero.
Basta selezionare il report e premere (es.) CTRL - Alt + X
Local({myTitle= Current Report()<< get Window Title() || " - (xml)"},
New Window (myTitle ,<<TYPE></TYPE>Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Come ha indicato Jarmo nella sua prima risposta, in JMP17 ora è diventato un po' più facile ottenere l'XPath corretto per un oggetto:
Fare clic con il tasto destro sull'oggetto, fare clic su Mostra proprietà (... regolare la selezione se necessario) e fare clic su
nel menu Box Path a destra:

Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Potresti provare a avvolgere Oneway con New Window
Names Default To Here(1);
// group by sex
dt = Open("$SAMPLE_DATA\Big Class.jmp");
nw = New Window("", ow = dt << Oneway(Y(:height), X(:age), By(:sex), Means and Std Dev(1), Mean Error Bars(1), Std Dev Lines(1), Mean of Means(1)));
// get XML fails for this platform
testXML = nw << Get XML;
Write(testXML);
ncbList = nw << XPath("\[//OutlineBox[text()="Means and Std Deviations"]//NumberColBox]\");
Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Quando usi By() ottieni che il messaggio restituisce un elenco di piattaforme, non una singola piattaforma.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow_by = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
Show( ow_by );
Tronco d'albero:
/*:
ow = Oneway[];
ow_by = {Oneway[], Oneway[]};Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Guardando gli esempi XPath mi sono reso conto che molti dei miei problemi sorgono quando utilizzo una variabile "raggruppa per" nella piattaforma.
Prendendo l'esempio che trovo nel link XPath:
Questo script funziona bene
// not grouped by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )["Means and Std Deviations"] << XPath( "//NumberColBox" );
Se raggruppo per sesso, tuttavia, ottieni XML genera già un errore. Come gestirlo?
// group by sex
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
ow = dt << Oneway(
Y( :height ),
X( :age ),
By( :sex ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
Mean of Means( 1 )
);
// get XML fails for this platform
testXML = Report (ow) << Get XML;
Write( testXML );
/* Return a list of NumberColBox references */
ncbList = Report( ow )[???]["Means and Std Deviations"] << XPath( "//NumberColBox" );
Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?Grazie, questo è più o meno quello che stavo cercando. Ricordo la presentazione "Ruba questo codice" ma non riuscivo più a trovarla.
Lo accetterò come soluzione, anche se ritengo che questo argomento meriti una spiegazione più concisa sull'apprendimento di JMP e/o sull'indice di scripting all'interno di JMP in modo che gli utenti sappiano da dove iniziare.
Ri: Come trovare il riferimento a un oggetto in una piattaforma utilizzando la struttura ad albero?A mio parere non esiste una soluzione generica per questo in quanto ci sono così tante piattaforme diverse in JMP e alcune di esse si comportano in modo diverso rispetto ad altre. Il mio approccio generale è dare un'occhiata all'XML con << Ottieni XML e quindi usa XPath (XPath è anche bello perché funziona al di fuori di JSL) con una combinazione di << fratello, << figlio, < Se si tratta di un caso molto semplice, potrei utilizzare l'abbonamento ai rapporti Guida per script > Visualizza alberi > Esplora report JMP > Visualizza riferimenti oggetto casella .
Di seguito alcuni link: