Ciao,
Sono nuovo nello scripting JMP e ho provato a scrivere uno script per un processo specifico data una tabella dati con cui lavorare. Per aiutare a spiegare cosa voglio, ecco una tabella di esempio grezza.

Quello che voglio fare è scrivere uno script che controlli in modo iterativo ogni riga nella colonna "Nome passaggio" per il valore "Sospensione". Quando arriva alla riga con "Sleep", controllerà il valore corrispondente sotto la colonna "Speed". Quindi, voglio che lo script controlli tutte le righe precedenti che condividono gli stessi valori nella colonna "Velocità". Sebbene condivida lo stesso valore nella colonna "Velocità", controllerà i valori esistenti nella colonna "Materiale". Se esiste un valore in "Materiale", prenderà quel valore e il valore corrispondente in "Velocità" e li restituirà in una nuova tabella, in questo modo:

Ho l'idea che ciò richiederebbe un ciclo For esteso, ma non so come affrontarlo. Apprezzerei molto qualsiasi suggerimento su come scrivere questo script. Grazie
Basandosi solo sui dati di esempio, sarebbe sufficiente rimuovere semplicemente tutte le righe con materiale mancante e impostare tutti i valori del nome del passaggio in modalità sospensione?
Credo di sì, dovrebbe essere sufficiente rimuovere semplicemente le righe con materiale mancante impostando la sospensione dei valori rimanenti del nome del passaggio. Come mi avvicinerei alla scrittura di una sceneggiatura per questo?
Questo può essere fatto anche in modo interattivo da JMP, ma per me è più veloce scriverlo semplicemente come script, quindi eccolo qui. Nota che hai una tabella leggermente diversa dalla tua (nomi e valori di colonna diversi).
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Step", Character, "Nominal", Set Values({"W", "E", "P", "F", "S", "C", "W", "P", "S", "F"})),
New Column("S", Character, "Nominal", Set Values({"F", "F", "F", "F", "F", "S", "S", "S", "S", "S"})),
New Column("M", Character, "Nominal", Set Values({"", "F", "", "P", "", "", "S", "G", "", ""}))
);
wait(1); // demo purposes
dt << Select Where(Is Missing(:M)) << Delete Rows; // << Get Rows Where() / << Where() are generally faster than select where
wait(1); // demo purposes
Column(dt, "Step") << Set Each Value("S");Ho modificato questo script per adattarlo al mio utilizzo nella tabella dati e sembra a posto, grazie mille!