Come posso creare uno script JSL per salvare un grafico nella tabella dati.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho uno script programmato in esecuzione ogni giorno che salva una tabella di dati.
Tuttavia vorrei includere grafici che posso eseguire manualmente e salvare nella tabella dati.
C'è un modo per inserirlo nella sceneggiatura?
Qualsiasi aiuto apprezzato.
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.@jthi Grazie mille, è esattamente quello che voglio. Sei il migliore!!!
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Poche domande:
- Colonna selezionata denominata "XXXX". Questa è davvero la colonna selezionata dalla tabella o solo il nome della colonna che verrà preimpostato?
- Mettendo XXXX due volte. Intendi nel nome dello script della tabella e poi come nome della colonna? Quando hai un elenco, come dovrebbe essere nominato lo script della tabella? Quanto può essere lungo l'elenco?
- STD3X con un numero effettivo nello script non una variabile. Non sono sicuro di cosa si intenda con questo? Non è già un numero quello che viene calcolato in base ai tuoi dati?
- Non così importante come le domande precedenti: come viene creato/eseguito lo script?
Questo non gestirà l'elenco dei nomi delle colonne, poiché non sono sicuro di cosa si dovrebbe fare con quell'elenco
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
col_of_interest = "height";
std3x = 3 * Col Std Dev(If(:sex == "F", Column(col_of_interest)));
table_script_expr = EvalExpr(
Oneway(
Y(Expr(Column(col_of_interest))), X(:sex), Equivalence Tests(Expr(std3x), 0.05, "Pooled Variance");
);
);
Eval(
Substitute(
Expr(dt << New Script(Eval Insert("^col_of_interest^-TOST"), _table_script_)),
Expr(_table_script_), Name Expr(table_script_expr);
)
);

Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.CIAO @txnelson , puoi aiutarmi a riscrivere il mio codice qui sotto? Voglio creare un JSL che possa eseguire il TOST per la colonna selezionata denominata "XXXX", quindi salvare lo script nella tabella JMP. Ci sono alcuni problemi nel codice seguente, in primo luogo devo inserire XXXX due volte nel codice seguente, il che non è efficiente, e in futuro voglio sostituire XXXX con un elenco in modo da poter eseguire più analisi contemporaneamente. In secondo luogo, voglio sostituire STD3X con un numero effettivo nello script, non con una variabile. Ho provato a modificarlo in base a @Mark_Bailey di seguito, ma non funziona. Per favore potete aiutarmi? Grazie mille.
dt = Current Data Table();
dt << New Script(
"XXXX-TOST",
ColName = "XXXX";
STD3X = 3 * Col Std Dev( If( :"Size" == "Small", :Column( ColName ) ) );
Oneway(
Y( :Column( ColName ) ),
X( :Scale ),
Unequal Variances( 1 ),
Std Dev Lines( 1 ),
Equivalence Tests( STD3X, 0.05, "Pooled Variance" )
);
);
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Eri sulla strada giusta:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Column( :Height, :Weight ), By( :sex ) );
dist expr = dist << Get Script;
Eval(
Substitute(
Expr(
dt << New Script( "New Script",
sss
);
),
Expr( sss ),
Name Expr( dist expr )
)
);
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Come posso utilizzare un'istanza di un oggetto (come Distribution o Gaph Builder) come argomento per la funzione New Script?
Ad esempio, ho tentato qualcosa di simile all'esempio fornito di seguito, ma il contenuto del "Nuovo script" nella tabella dati finisce per essere "dist" e non lo script da cui è stato creato dist.
Ho anche provato a sostituire "dist" nell'esempio seguente con "dist << Get Script", ma ancora una volta lo script effettivo salvato nella tabella viene popolato con la stringa esplicita "dist << Get Script" e non la fonte dello script.
Spero che la domanda sia chiara. Grazie.
dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Open</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"$SAMPLE_DATA/Big Class.jmp"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;<BR /></SPAN>dist = Distribution<SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Height<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>Weight <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> By<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>sex <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
dt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> New Script</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token string">"New Script"</SPAN><SPAN class="token punctuation">,</SPAN>
dist
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Oltre a ciò che altri hanno detto, tieni presente che JMP Pro 12 ha la capacità di memorizzare diverse tabelle, diagrammi, grafici, ecc. nell'Application Builder, che ha la capacità di aggiornare automaticamente ciascuna tabella, grafico, grafici, ecc. una volta avviare presupponendo che queste tabelle siano inserite in script in tabelle di aggiornamento.
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Ciao Jim,
Grazie per queste informazioni, lo script ora funziona perfettamente. Credo che stavo andando alla cieca in quello che chiamiamo JMP.
Sono nuovo su questo sito Web ma vorrei aggiungere che queste informazioni sono semplicemente impagabili.
Ora posso salvare quotidianamente la tabella dati per gli altri e tutto ciò che devono fare è fare clic sul triangolo rosso che produce ogni volta lo stesso grafico.
Grazie per ora.
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Le tue prime 2 righe non sono corrette.Dovrebbero essere:
dt=tabella dati("xfer_split");
dt << Nuovo script("Adatta Y per X",
Penso che queste modifiche dovrebbero creare lo script nella tabella dati.L'esecuzione dello script richiederà comunque all'utente di fare clic sul triangolo rosso accanto allo script incorporato e di selezionare "Esegui script"
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Ciao Jim,
Grazie per le informazioni
Ecco cosa sto eseguendo ora, vedi sotto.
Problema, non vedo il grafico e/o non sembra essere visualizzato nella stessa posizione in cui lo esegui manualmente. Potresti aiutarmi qui.
Names Default To Here( 1 );
dt = ("XFER_SPLIT");
<< New Script("Fit Y by X",
Fit Group(
Bivariate( Y( :MEDIAN BISN_RES ), X( :PDATETIME ) ),
Oneway(
Y( :MEDIAN BISN_RES ),
X( :MACH ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 )
),
<<{Arrange in Rows( 2 )}
));
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Sì, il messaggio/funzione Nuovo script è ciò che desideri utilizzare.
Se il grafico che vuoi produrre è sempre lo stesso grafico, tutto ciò che devi fare è prendere lo script che stai attualmente salvando manualmente nella tabella dati e incollarlo nel messaggio "Nuovo script".
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Script(
"<GIVE the="" script="" whatever="" name="" you="" want="">",
<PASTE the="" script="" here="">
);</PASTE></GIVE>
Se non sei sicuro su come ottenere lo script che produce il grafico, tutto ciò che devi fare è fare clic con il pulsante destro del mouse sul triangolo rosso situato a sinistra dello script che hai salvato nella tabella dati, quindi selezionare "Modifica".È possibile copiare dalla finestra che visualizza lo script.
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Hai ragione, txnelson L'esempio di New Script di fa proprio questo. gzmorgan0 presenta un'interessante alternativa all'inclusione di grafici con datatables.
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Mi scuso per non aver reso molto chiaro ciò che sto chiedendo, proverò a procedere passo dopo passo qui.
1) Ho uno script programmato in esecuzione quotidianamente che salva una tabella di dati, nessun problema qui.
2) Nella tabella dati, manualmente o tramite script creo un "grafico",
Quindi manualmente posso creare quel "grafico" - "Salva lo script nella tabella dati" che quindi salva il grafico nella tabella dati, quindi quando la tabella dati viene salvata e quindi riaperta lo script può essere facilmente aperto/eseguito.
La domanda è: è possibile creare uno script prima di salvare la tabella dati ed è l'opzione "Nuovo script" il modo per farlo?
Spero che questo ti aiuti.

Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Dalla tua richiesta, è difficile determinare se desideri (1) utilizzare la funzionalità JMP 12 per aggiungere i grafici come colonna di espressione; oppure (2) desideri incorporare un file journal di grafici; oppure (3) aggiungere uno script per generare i grafici.Jim Nelson ha fornito un esempio per il punto 3.
Il codice di esempio riportato di seguito utilizza i dati di esempio JMP dei punteggi SAT, crea un report di riepilogo dei punteggi SAT matematici e verbali per Stato e per ciascuno Stato incorpora un grafico di tendenza di sovrapposizione in una colonna di espressione per la riga corrispondente e rende la colonna di espressione un etichetta.
Include anche l'utilizzo del Costruttore di grafici per fornire un esempio di utilizzo di questa tabella.Passa il mouse sopra uno stato e visualizza il grafico della tendenza. Questo è un esempio per il numero 1. Se stai cercando un esempio per il punto 2 o qualcos'altro, fornisci maggiori dettagli.
dtraw = Open("$sample_data\SATByYear.jmp");
ovl = Overlay Plot(
X( :Year ),
Y( :SAT Verbal, :SAT Math ),
Y Scale( Left, Right ),
Connect Thru Missing( 1 ),
By( :State ),
SendToReport(
Dispatch( {}, "Overlay Plot Graph", FrameBox, {Frame Size( 288, 158 )} ),
Dispatch(
{},
"Overlay Plot Graph",
FrameBox( 2 ),
{Frame Size( 288, 158 )}
)
)
);
dtsumry = dtraw << Summary(
Group( :State ),
Mean( :SAT Verbal ),
Mean( :SAT Math ),
Freq( "None" ),
Weight( "None" )
);
dtsumry << new Column("ByYearPic", Expression);
for(i=1, i<=nitems(ovl), i++,
ttl = report(ovl[i])[OutlineBox(1)] << get title();
report(ovl[i])[OutlineBox(1)] << set title(word(2,ttl, "=") || " Scores by Year");
pic = ovl[i] <<GET picture=""></GET>
Re: Come posso creare uno script JSL per salvare un grafico nella tabella dati.Devi solo usare il messaggio Nuovo script.Ecco il semplice esempio da:
Aiuto==>Indice degli script
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Script(
"New Script",
Distribution( Column( :Height, :Weight ), By( :sex ) )
);