Problema con Ottieni come tabella dal reportCiao a tutti,
Sto cercando di estrarre informazioni da un TableBox() in un report in una tabella dati per la manipolazione. Ho letto tutto http://www.jmp.com/support/help/Manipuring_Displays.shtml#196022 e alcune funzioni funzionano, ma ho due problemi:
var = rdist["Summary Statistics"][1][1][1][1];
ritorna
"mean"
Quindi so di poter identificare l'oggetto e utilizzare la sintassi, ma
var = rdist["Summary Statistics"][1][TableBox(4)][1][1];
ritorna
Cannot subscript Display Box in access or evaluation of 'Subscript' , rdist["Summary Statistics"][1][/*###*/Table Box( 4 )]
In the following script, error marked by /*###*/
var = rdist["Summary Statistics"][1][/*###*/Table Box( 4 )][1][1]
Forse mi sto perdendo qualcosa di ovvio. È allegata un'immagine dell'albero di visualizzazione. Non so perché non accetterà la sintassi.
Il vero obiettivo è ottenere la tabella che voglio utilizzare è la tablebox "Summary Statistics"(4).
Quindi quando provo:
var = rdist["Summary Statistics"][1][1];
rdist << make data table();
Ottengo:
The display box 'OutlineBox' does not recognize the message 'make data table'; perhaps you mean one of these: <<Make RowState Handler <<Selectable <<Get Title <<Set Title <<Set Menu Item State <<Get Menu Item State <<Set Scriptable Object <<Get Scriptable Object <<Add Text Item <<Set Font Name <<Get Font Name <<Set Window Title <<Add Pin Annotation <<Save Capture <<Get Window Title <<Set Window Title <<SetNotStretchable.

Ri: Problema con Ottieni come tabella dal reportGrazie!
Ri: Problema con Ottieni come tabella dal reportQuesta è una buona idea.
Non è così complicato. Devi solo capire che puoi usare riferimenti assoluti o relativi. Il diagramma ad albero di visualizzazione è di grande aiuto ma non consigliamo di utilizzare riferimenti assoluti. Tale indice cambierà se qualcosa appare o scompare tra la radice dell'albero di visualizzazione e la casella di visualizzazione di destinazione. D’altronde il riferimento relativo non si rompe quasi mai. Quindi nel tuo esempio sr["Test Between Groups"][TableBox(1)] è il riferimento più diretto e affidabile. Il primo pedice arriva alla casella del profilo di destinazione e poi il pedice successivo (sono annidati) ti dà la destinazione. Non hai davvero bisogno di tutti gli [1] pedici nel tuo esempio iniziale. In effetti, ciò rende fragile il riferimento per il motivo che ho menzionato all’inizio di questo post.
Ri: Problema con Ottieni come tabella dal reportChe funzioni. Grazie per il chiarimento!
Direi che è un po' complicato perché TableBox è elencato con un numero diverso tra parentesi "TableBox(1)" nello script JMP è il primo TableBox dopo OutlineBox etichettato "Test tra gruppi", anziché "TableBox( 4)" che è come appare nella struttura di visualizzazione.
Una funzionalità che mi piacerebbe vedere in JMP sarebbe la possibilità di trascinare una funzionalità dall'albero di visualizzazione o anche un report nella finestra dello script e visualizzare il riferimento all'albero di visualizzazione nell'editor dello script.
Ad ogni modo, adoro JMP e il comando << make combined data table() mi salva la vita! Grazie per averlo scritto!
Ri: Problema con Ottieni come tabella dal reportL'indice mostrato nel diagramma ad albero di visualizzazione è un riferimento assoluto. Il [5] è assoluto. Successivamente si accede alla singola casella della tabella locale, quindi ora è [1].
Suggerisco di utilizzare il riferimento univoco più vicino, come la casella di contorno "Test tra gruppi" e quindi TableBox(1).
Ri: Problema con Ottieni come tabella dal reportOk, mi sono reso conto che stavo inviando la variabile sbagliata a "make data table()". Quindi va bene. Ma la cosa che non capisco è:
sr = surv << Report;
var = sr[1][1][1]["Tests Between Groups"][1];
var<< make data table();
Crea una bella tabella di dati con le statistiche che desidero. Ma....
var = sr[1][1][1]["Tests Between Groups"][TableBox(5)];
Ritorna:
Cannot subscript Display Box in access or evaluation of 'Subscript' , sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
In the following script, error marked by /*###*/
var = sr[1][1][1]["Tests Between Groups"][/*###*/Table Box( 5 )]
Allora quello che vorrei sapere è perché:
"var = sr[ 1 ][ 1 ][ 1 ][ "Test tra gruppi" ][ TabellaBox ( 5 )];" ------- non è la stessa cosa di -------- " var = sr[ 1 ][ 1 ][ 1 ][ "Test tra gruppi" ][ 1 ];"
C'è qualche sintassi che mi manca?
Ri: Problema con Ottieni come tabella dal reportcambia "Crea tabella dati" in "Crea tabella dati combinata" e penso che otterrai ciò che desideri.Verrà inserito in una tabella dati, tutti i dati da ciascuna delle Tablebox
Ri: Problema con Ottieni come tabella dal reportGrazie per la tua risposta, Jim. Non è esattamente quello che intendo fare.
In definitiva, avrei bisogno che lo script esegua le iterazioni (variabile "By") per un dato report ed estragga TableBox(4) in una tabella di dati, quindi concateni tutti quelli con identificatori o da quale iterazione dell'analisi proviene .
Penso di poter capire le concatenazioni e così via, sta semplicemente estraendo TableBox(4), in questo esempio, come tabella dati. Secondo l'articolo in JMP Scripting>Display Trees>Manipifying Displays, questo dovrebbe essere possibile.
Il loro esempio è:
rbiv[tablebox(4)] << make data table("ANOVA table");Quindi so che il comando send può creare una tabella dati. Semplicemente non capisco perché nel mio caso ricevo il messaggio di errore dato che posso identificare adeguatamente i dati all'interno della tabella.
Ri: Problema con Ottieni come tabella dal reportQuesto è il metodo che utilizzo per affrontare il problema
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
dis=Distribution(
Continuous Distribution( Column( :NPN1 ) ),
Continuous Distribution( Column( :PNP1 ) )
);
n items(report(dis));
mean=(report(dis)["NPN1"]["Summary Statistics"][1][1][2]<<GET></GET>