Come salvare la finestra dei benchmark nella tabella dati?CIAO !
Grazie a questo script ho generato una finestra di BenchMarks su jmp e vorrei salvarla nella tabella dati (come se stessi eseguendo "salva script nella tabella dati"). Il problema è che la fine del mio script non funziona!!
// Ouvrir la table de données
dt = Open(fichier1);
// Initialiser une liste pour stocker les noms des colonnes avec la note "INGOT CHARACTERISTICS"
cols_with_note = {};
// Parcourir chaque colonne de la table par index
For(i = 1, i <= N Cols(dt), i++,
col = Column(dt, i);
// Vérifier si la colonne a une note "INGOT CHARACTERISTICS"
If(col << Get Property("Notes") == "INGOT CHARACTERISTICS",
// Ajouter le nom de la colonne à la liste
Insert Into(cols_with_note, col << Get Name)
);
);
Print(
"Colonnes avec notes trouvées pour la famille " || "INGOT CHARACTERISTICS" || " : " ||
Char(cols_with_note) || "\n"
);
// Créer une nouvelle fenêtre pour regrouper tous les graphiques
report_window = New Window("BenchMarks_Ingot_Characteristics",
V List Box(
Fit Group(
For(i = 1, i <= N Items(cols_with_note), i++,
col_name = cols_with_note[i];
// Ajouter le graphique Oneway au Fit Group
Oneway(
Y(Column(dt, col_name)),
X(Column(dt, selection)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
)
)
)
);
// Enregistrer la fenêtre dans le fichier de données
report_window << Save Script to Data Table(
dt, // Spécifie la table de données
"BenchMarks_Ingot_Characteristics", // Nom de la fenêtre pour enregistrer
);
Modifica 2024-08-12 jthi, aggiunta formattazione JSL
Automazione e scriptingAccesso ai datiEsplorazione e visualizzazione dei datiRe: Come salvare la finestra dei benchmark nella tabella dati?Quando pubblichi codice JSL su JMP Community, utilizza la formattazione JSL. Puoi aggiungerlo con
.
Per quanto riguarda la tua domanda, quale versione di JMP stai utilizzando?
Re: Come salvare la finestra dei benchmark nella tabella dati?Ecco due opzioni che potrebbero funzionare per te. L'opzione 2 è solitamente più facile da usare, ma lo script che crea è più difficile da modificare nella tabella
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
sel = "SITE";
cols = Left(dt << Get Column Names("Continuous", "String"), 10);
// Option1
ow_expr = EvalExpr(dt << Oneway(
Y(Eval(Expr(cols))),
X(Eval(Expr(sel))),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
));
Eval(EvalExpr(
dt << New Script("Plots", Expr(Name Expr(ow_expr)));
));
dt << Run Script("Plots"); // if you want to leave it open
// Option2
ows = dt << Oneway(
Y(Eval(cols)),
X(Eval(sel)),
Quantiles(1),
Means and Std Dev(1),
Box Plots(1),
Mean Error Bars(1),
Std Dev Lines(1),
X Axis Proportional(0),
Grand Mean(0),
SendToReport(
Dispatch({}, "Oneway Plot", FrameBox,
{DispatchSeg(
Box Plot Seg(1),
{Confidence Diamond(0), Shortest Half Bracket(0),
Line Color("Red")}
)}
)
)
);
ows[1] << Save Script for All Objects To Data Table("Plot2");Re: Come salvare la finestra dei benchmark nella tabella dati?Ho creato un ciclo per avere tutti i miei benchmark in un Fit Group e vorrei salvare tutto questo Fit Group in una finestra, lo script che mi hai inviato non funziona per me:(
Re: Come salvare la finestra dei benchmark nella tabella dati?Cosa c'è che non va nello script che ti ho fornito? Non mi hai detto quale versione di JMP stai usando, quindi potrebbe non funzionare per tutte le versioni di JMP (ho accesso solo a JMP17 e JMP18).
Re: Come salvare la finestra dei benchmark nella tabella dati?Non ha registrato i benchmark nel mio file1 non so perchéRe: Come salvare la finestra dei benchmark nella tabella dati?Io uso jmp 16Re: Come salvare la finestra dei benchmark nella tabella dati?Inoltre lo script che mi hai inviato non include il loopRe: Come salvare la finestra dei benchmark nella tabella dati?Se il loop non è necessario (potrebbe esserlo con JMP16), perché dovresti usarne uno? Con i miei script precedenti ottieni risultati come questo (in JMP18)

Re: Come salvare la finestra dei benchmark nella tabella dati?Jarmo,
Ho eseguito lo script in JMP 16 ed entrambe le opzioni hanno funzionato come previsto, salvando gli script nella tabella dati originale.
Re: Come salvare la finestra dei benchmark nella tabella dati?Non capisco come il ciclo non sia necessario quando ho bisogno di generare benchmark per ogni valore dell'elenco cols_with_note come YRe: Come salvare la finestra dei benchmark nella tabella dati?Alcune piattaforme JMP consentono di utilizzare più colonne come input. Dopo aver ottenuto l'elenco di colonne, potresti essere in grado di utilizzarlo direttamente come input in una piattaforma. Quindi hai bisogno di un ciclo per raccogliere le colonne (o qualche altro metodo, non ho i tuoi dati quindi non posso saperlo) e il secondo ciclo potrebbe essere superfluo a seconda del risultato finale che desideri avere.
Il mio esempio non ha loop, perché non è necessario che il mio script di esempio esegua un loop su qualsiasi colonna per creare un elenco di esempio. Posso semplicemente scegliere alcune colonne per dimostrare cosa puoi fare, specialmente perché sembri aver già risolto la parte relativa alla raccolta di colonne.
Re: Come salvare la finestra dei benchmark nella tabella dati?Ok, ho capito, ma non so perché quando clicco sul pulsante per avviarlo non funziona? Quindi so che l'ho salvato, ma non riesco ad avviare i benchmark dal pulsante verde
Re: Come salvare la finestra dei benchmark nella tabella dati?Fare clic con il tasto destro del mouse sullo script e selezionare Modifica

Puoi quindi visualizzare lo script che si trova nella tabella, molto probabilmente c'è qualcosa che non va. A volte può essere un po' difficile salvarli correttamente nella tabella dati.
Re: Come salvare la finestra dei benchmark nella tabella dati?Ok grazie mille, mi hai davvero salvato!! Ho un'altra domanda, lo sto facendo per diversi studi e a volte la lista cols (o cols_with_note) potrebbe essere vuota ma lo script che mi hai inviato non funziona se cols è vuoto (il che è normale in realtà) Sto creando questo script per aggiungerli a un salto del modulo del flusso di lavoro. C'è un modo per dire "se cols è vuoto, allora interrompi lo script e passa a quello successivo"?
Re: Come salvare la finestra dei benchmark nella tabella dati?o meglio se la lista non è vuota generiamo i benchmark e altrimenti non facciamo nulla
Re: Come salvare la finestra dei benchmark nella tabella dati?Puoi usare l'istruzione if e N Items() per controllare se la lista ha degli elementi. E poi fermarti se è vuota o fare qualcos'altro
mylist = {};
If(N Items(mylist) == 0,
stop();
);
show(1);Re: Come salvare la finestra dei benchmark nella tabella dati?Ti consiglio vivamente di prenderti il tempo di leggere la Guida allo scripting disponibile nel menu a discesa Aiuto.
Re: Come salvare la finestra dei benchmark nella tabella dati?Ho notato che quando il mio elenco contiene un solo nome di colonna o colonne vuote, lo script dice: send expects scriptable objects. Come posso correggere questo problema?