Importazione di XML direttamente nelle tabelle di dati<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Voglio importare un set di dati da XML (ben formato) direttamente in una tabella di dati. Questo è qualcosa che Excel può fare, quindi sono sicuro che JMP può farlo! L'XML e le tabelle di dati finali sono simili agli esempi seguenti; ci sono una serie di test con risultati per singoli pin, associati a un die, tutti parte di un lotto complessivo, con attributi associati come tester o coordinate x, y (si basa sui dati di test sui semiconduttori, come avrai intuito!) . Il set di dati potrebbe essere potenzialmente molto lungo.
So che esiste una funzione Parse XML JSL ma non riesco a capire come implementarla in questa situazione. Qualsiasi suggerimento ricevuto con gratitudine!
Grazie, Matteo.
| lot_id | tester_type | die_id | morire_x | morire_y | nome_prova | unità | pin_name | risultato |
| BLAH | J750 | 1 | 1 | 1 | PROVA1 | UN | ABC | 1234 |
| BLAH | J750 | 1 | 1 | 1 | PROVA1 | UN | DIF | 2345 |
| BLAH | J750 | 1 | 1 | 1 | PROVA2 | UN | XCV | 414 |
| BLAH | J750 | 1 | 1 | 1 | PROVA2 | UN | VBN | 1351 |
| BLAH | J750 | 2 | 3 | 4 | PROVA1 | UN | ABC | 5433 |
| BLAH | J750 | 2 | 3 | 4 | PROVA1 | UN | DIF | 4321 |
| BLAH | J750 | 2 | 3 | 4 | PROVA2 | UN | XCV | 6856 |
| BLAH | J750 | 2 | 3 | 4 | PROVA2 | UN | VBN | 5345 |
Ri: Importare XML direttamente nelle tabelle di datiCiao ho ricevuto un errore quando ho scritto questo
Analizza XML ( QasFile ,
Sull'elemento ( "Gruppi indicatori" ,
Tag di inizio (
dt = Nuovo tavolo ( "TestJMPTable" ) ;
dt << Nuova colonna ( "N" , Numerico ) ;
dt << Nuova colonna ( "File grafico" , Carattere ) ;
dt << Nuova colonna ( "Descrizione" , Carattere ) ;
)) ;
riga = 1 ;
su Elemento ( "N" ,
Starttag (
Se ( riga > 0 , dt << Addrows ( 1 )) ;
Colonna ( dt , "N" )[ riga ()] = Attr. XML ( "N" ) ;
)) ,
EndTag ()
) ;
Ri: Importare XML direttamente nelle tabelle di datiPer coloro che sono interessati a XML (sembra apparire sempre di più in questi giorni), posso segnalare che una procedura guidata di importazione XML è in fase di sviluppo attivo in JMP 15. Consente la selezione point-and-click per assicurarsi che JMP comprenda il formato corretto dell'XML. JMP 15 sarà disponibile nell'autunno 2019.
Ri: Importare XML direttamente nelle tabelle di datiLoad Text File() è un'alternativa a Open() per XML e altri file di testo.Ri: Importare XML direttamente nelle tabelle di datiGrande esempio.L'ho trovato molto più facile da capire rispetto alla Scripting Guide o allo Scripting Index.Grazie!
Ri: Importare XML direttamente nelle tabelle di datiCiao Stan,
Non mi ero reso conto che fossi un uomo JMP, ma ora vedo la piccola icona JMP sotto il tuo nome, quindi questo lo spiega
Grazie ancora per il tuo aiuto e lo suggerirò davvero come miglioramento futuro.
Saluti,
Matteo.
Ri: Importare XML direttamente nelle tabelle di datiOpaco,
Grande!Sono contento che tu l'abbia trovato utile.Il nostro team di supporto è fantastico ed è sempre pronto ad assistere i clienti con qualsiasi domanda o commento tu possa avere.
Il modo migliore per aggiungere funzionalità a una versione futura di JMP è inviare la richiesta direttamente a support@jmp.com .
Saluti,
Stan
Ri: Importare XML direttamente nelle tabelle di datiCiao Peter,
Grazie.Sono contento che tu abbia trovato utile l'esempio.Ho applicato la mia implementazione utilizzando gli esempi dall'indice di scripting.Ho cercato "XML" nell'indice di scripting e ha restituito diversi risultati.
Invierò una richiesta per avere la documentazione aggiornata per avere alcuni esempi aggiuntivi.
Saluti,
Stan
Ri: Importare XML direttamente nelle tabelle di datiStan, questo è un ottimo esempio di utilizzo di PARSE XML.E' documentato da qualche parte?Non è stato possibile trovare molto nella guida in linea di JMP 11 o nei libri di scripting.
Ri: Importare XML direttamente nelle tabelle di datiCiao Stan,
funziona bene, grazie mille! Ci giocherò per capire appieno come funziona JSL.
Nel caso in cui qualcuno di JMP stia leggendo questo: l'opzione per importare un file di dati XML ben formato direttamente in una tabella di dati (senza conoscere la struttura o la profondità dei dati) sarebbe un'utile aggiunta. È fattibile o possibile?
Grazie,
Matteo.
Ri: Importare XML direttamente nelle tabelle di datiCiao Matt,
JMP attualmente non dispone di un modo diretto per importare i file XML utilizzando la finestra di dialogo Apri file.
Tuttavia, è possibile utilizzare JSL per eseguire questa attività.
Vedi sotto per un esempio di un modo per farlo.
Forse qualcun altro può semplificare la sceneggiatura per essere più conciso.
Saluti,
Stan
// assegna testo xml
xmlTxtFile = "\[
]\"
;
// Analizza l'XML
Analizza XML ( xmlTxtFile ,
// Crea una nuova tabella
Sull'elemento ( "Test finale" ,
InizioTag (
dt = Nuova Tavola ( "Tavolo Wafer" ,
// Crea nuove colonne
Nuova Colonna ( "ID lotto" , Carattere ) ,
Nuova Colonna ( "Tipo tester" , Carattere ) ,
Nuova Colonna ( "Die ID" , Numerico ) ,
Nuova Colonna ( "Muori X" , Numerico ) ,
Nuova Colonna ( "Muori Y" , Numerico ) ,
Nuova Colonna ( "Nome di prova" , Carattere ) ,
Nuova Colonna ( "Nome unità" , Carattere ) ,
Nuova Colonna ( "Nome pin" , Carattere ) ,
Nuova Colonna ( "Risultato PIN" , Numerico ) ,
) ;
riga = 1 ;
) // Fine inizio tag, FinalTest su elemento
) ,
// Ottieni l'elemento successivo
Sull'elemento ( "Quantità" ,
InizioTag (
Se ( riga > 0 , dt << Aggiungi righe ( 1 )) ;
colonna ( dt , "ID lotto" )[ riga ()] = Attr. XML ( "ID_lotto" ) ;
colonna ( dt , "Tipo tester" )[ riga ()] = Attr. XML ( "tipo_tester" ) ;
) ,
EndTag ()
) ,
Sull'elemento ( "Morire" ,
InizioTag (
colonna ( dt , "Die ID" )[ riga ()] = Num ( Attr. XML ( "muore_id" )) ;
colonna ( dt , "Muori X" )[ riga ()] = Num ( Attr. XML ( "morire_x" )) ;
colonna ( dt , "Muori Y" )[ riga ()] = Num ( Attr. XML ( "muori_y" )) ;
)
) ,
Sull'elemento ( "Test" ,
InizioTag (
colonna ( dt , "Nome di prova" )[ riga ()] = Attr. XML ( "nome_prova" ) ;
colonna ( dt , "Nome unità" )[ riga ()] = Attr. XML ( "unità" ) ;
)
) ,
Sull'elemento ( "Spillo" ,
InizioTag (
colonna ( dt , "Nome pin" )[ riga ()] = Attr. XML ( "nome_pin" ) ;
colonna ( dt , "Risultato PIN" )[ riga ()] = Num ( Attr. XML ( "risultato" )) ;
) ,
EndTag (
Se ( riga > 0 , dt << Aggiungi righe ( 1 )) ;
)
)
) ;
// elimina la riga aggiuntiva
nr = NRiga ( dt ) ;
dt << Vai alla riga ( nr ) ;
dt << Fatti selezionare () ;
dt << Elimina righe ;
// Compila i valori delle righe mancanti
Per ogni riga (
cr = riga () ;
Se ( cr != 1 ,
Se ( : ID lotto == "" , : ID lotto = Ritardo ( : ID lotto , 1 ) , : ID lotto = : ID lotto ) ;
Se ( : Tipo di tester == "" , : Tipo di tester = Ritardo ( : Tipo di tester , 1 ) , : Tipo di tester = : Tipo di tester ) ;
Se ( Manca ( : Muori ID ) == 1 , : Muori ID = Ritardo ( : Muori ID , 1 ) , : Muori ID = : Muori ID ) ;
Se ( Manca ( : Muori X ) == 1 ,: Muori X = Ritardo ( : Muori X , 1 ) , : Muori X = : Muori X ) ;
Se ( Manca ( : Muori Y ) == 1 , : Muori Y = Ritardo ( : Muori Y , 1 ) , : Muori Y = : Muori Y ) ;
Se ( : Nome di prova == "" , : Nome di prova = Ritardo ( : Nome di prova , 1 ) , : Nome di prova = : Nome di prova ) ;
Se ( : Nome unità == "" , : Nome unità = Ritardo ( : Nome unità , 1 ) , : Nome unità = : Nome unità ) ;
) ;
) ;