Problema durante la conversione di colonne da carattere in numerico<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
questo è il mio primo post - Sto cercando di automatizzare l'elaborazione dei dati dove ricevo i dati sotto forma di fogli di calcolo Excel ... C'è una scheda nella cartella di lavoro con tutte le informazioni pertinenti.
JMP sembra importare molti dati come carattere, non numerico, e posso convertire i dati in valori numerici manualmente nella tabella (normalmente) ma non con uno script:
Qualche idea?
Grazie
Tom
Imposta la directory corrente ("C: \ JDSU \ ServerCopy \ Data \ Caratterizzazione post-elaborazione \ Flash IV \ AWSC");
dt = open (); // questo è l'unico modo che ho trovato per permettermi di selezionare il foglio di lavoro pertinente "Ordina dati" nel file .xls
tables = ntable ();
OpenDTs = List ();
savethis = list ();
closethese = list ();
mostra (dt);
/ * Il ciclo che pensavo avrebbe funzionato per eliminare i tavoli aperti che non desidero, ma chiude solo alcuni, non tutti, delle tabelle indesiderate
per (i = 1, i <= tabelle, i ++,
Inserisci in (openDTs, tabella dati (i) << GetName ());
IF (tabella dati (i) << GetName () == "Ordina dati",
Continua();
chiudi (DataTable (i));
);
);
* /
dt << cancella le righe ({1,2,3,4,5,6,7,8,9}); // le prime nove righe non sono dati - esiste un modo per catturare questo nel comando open ()?
column (1) << set name ("Wafer ID");
column (2) << nome set ("Xref-Yref");
column (3) << imposta il tipo di dati ("numerico"); // questo non funziona ....
// colonna ({3,4,5,6,7,8,9,10,11,12,13}) << imposta il tipo di dati (numerico); // né lo fa
col = New COlumn ("FF_Calc", numerico);
col << imposta la formula (: vmp *: imp /: Voc /: Isc); // questo restituisce errori in quanto non riesco a modificare le colonne offensive in numerico.
col = NEw COlumn ("xref", carattere);
col = nuova colonna ("yref", carattere);
column ("voc") << imposta il tipo di dati ("numerico"); // ancora non funziona
Ri: Problema nella conversione delle colonne da carattere a numericoÈ necessario "eseguire" le formule di colonna prima di utilizzarle. Metti questa riga prima dell'istruzione for each row:
dt << esegui formule;
dove dt punta alla tabella dei dati.
Re: Problemi nella conversione delle colonne da caratteri a numeriTom, credo che tu voglia ripubblicare questo nel forum JMP.
Arte
Re: Problemi nella conversione delle colonne da caratteri a numeriUn esempio di sintassi corretta per trasformare una colonna di caratteri in numerica:
colonna("voc") << Tipo di dati( numerico );
column("voc") << Tipo di modellazione(continuo); // se si desidera un tipo di modellazione continua
O
dt:voc << ecc...
Sembra che la tua istruzione "if" abbia bisogno di una virgola dopo "continue"...
Re: Problemi nella conversione delle colonne da caratteri a numeriGrazie molto.
Hai idea del motivo per cui un ciclo for each row() funziona bene se lo eseguo evidenziando e poi premendo Ctrl+R nella finestra JSL, ma non funziona se eseguito come parte dell'intero script?
col = New COlumn("FF_Calc", numeric) << Tipo di modellazione (continuo);
col<
Nuova colonna("xref", Carattere, Ordinale, Formula(If(Right(Left(:Name("Xref-Yref"), 2), 1) == "-", Left(:Name("Xref-Yref"), 1), Left(:Name("Xref-Yref"), 2))), Imposta proprietà("Ordinamento dei valori", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
Nuova colonna("yref", Carattere, Ordinale, Formula(If(Left(Right(:Name("Xref-Yref"), 2), 1) == "-", Right(:Name("Xref-Yref"), 1), Right(:Name("Xref-Yref"), 2))), Imposta proprietà("Ordinamento dei valori", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
per ogni riga(
se(:FF_Calc < 0, rowstate() = stato escluso(1), :FF_calc > 1, rowstate() = stato escluso(1), rowstate() = stato escluso(0)
);
);
per ogni riga(
se(dt:FF_Calc < 0, rowstate() = stato escluso(1), dt:FF_Calc > 1, rowstate() = stato escluso(1), rowstate() = stato escluso(0)
);
); // nessuna di queste opzioni funziona nello script, ma se eseguite manualmente funzionano correttamente. Devo selezionare la tabella o qualcosa del genere?
Re: Problemi nella conversione delle colonne da caratteri a numeriBingo!
Grazie molto!
Re: Problemi nella conversione delle colonne da caratteri a numeriCome mai non funziona? Ricevi un messaggio di errore o semplicemente il risultato sbagliato?
In ogni caso, la variabile di colonna col non è assegnata correttamente. È necessario inviare il messaggio di tipo di modellazione in un'istruzione separata o all'interno di New Column(). Una volta assegnata, è possibile utilizzare col al posto di :FF_Calc.
Per esempio
col = Nuova colonna ( "FF_Calc" , numerico , continuo ) ;
col << imposta valori ( { - 1 , 0 , 1 , 2 } ) ;
Per ogni riga (
Se(
col < 0 , Stato riga () = Stato escluso ( 1 ) ,
col > 1 , Stato riga () = Stato escluso ( 1 ) ,
Stato riga () = Stato escluso ( 0 )
)
);