XML direkt in Datentabellen importieren<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich möchte einen Datensatz aus (wohlgeformtem) XML direkt in eine Datentabelle importieren. Das ist etwas, was Excel kann, und ich bin mir sicher, dass JMP es kann! Das XML und die endgültigen Datentabellen sehen wie in den folgenden Beispielen aus; Es gibt eine Reihe von Tests mit Ergebnissen für einzelne Pins, die einem Chip zugeordnet sind, alle Teil einer Gesamtcharge, mit zugehörigen Attributen wie Tester oder XY-Koordinaten (basierend auf Halbleitertestdaten, wie Sie vielleicht erraten haben!) . Der Datensatz könnte möglicherweise sehr lang sein.
Ich weiß, dass es eine Parse XML JSL-Funktion gibt, aber ich verstehe nicht, wie ich sie in dieser Situation implementieren soll. Alle Vorschläge werden dankbar angenommen!
Danke, Matthew.
| lot_id | tester_type | die_id | die_x | sterben_y | Testname | Einheit | pin_name | Ergebnis |
| BLAH | J750 | 1 | 1 | 1 | TEST1 | A | ABC | 1234 |
| BLAH | J750 | 1 | 1 | 1 | TEST1 | A | DEF | 2345 |
| BLAH | J750 | 1 | 1 | 1 | TEST2 | A | XCV | 414 |
| BLAH | J750 | 1 | 1 | 1 | TEST2 | A | VBN | 1351 |
| BLAH | J750 | 2 | 3 | 4 | TEST1 | A | ABC | 5433 |
| BLAH | J750 | 2 | 3 | 4 | TEST1 | A | DEF | 4321 |
| BLAH | J750 | 2 | 3 | 4 | TEST2 | A | XCV | 6856 |
| BLAH | J750 | 2 | 3 | 4 | TEST2 | A | VBN | 5345 |
Betreff: XML direkt in Datentabellen importierenHallo, ich habe einen Fehler erhalten, als ich das geschrieben habe
XML analysieren ( QasFile ,
Auf Element ( „Indikatorgruppen“ ,
Tag starten (
dt = Neuer Tisch ( „TestJMPTable“ ) ;
dt << Neue Kolumne ( "N" , Numerisch ) ;
dt << Neue Kolumne ( „Grafikdatei“ , Charakter ) ;
dt << Neue Kolumne ( "Beschreibung" , Charakter ) ;
)) ;
Reihe = 1 ;
auf Element ( "N" ,
Starttag (
Wenn ( Reihe > 0 , dt << Addrows ( 1 )) ;
Spalte ( dt , "N" )[ Reihe ()] = XML-Attribut ( "N" ) ;
)) ,
EndTag ()
) ;
Betreff: XML direkt in Datentabellen importierenFür diejenigen, die sich für XML interessieren (es scheint heutzutage immer häufiger aufzutauchen), kann ich berichten, dass ein XML-Import-Assistent in JMP 15 aktiv entwickelt wird. Es ermöglicht eine Point-and-Click-Auswahl, um sicherzustellen, dass JMP das richtige Format Ihres XML versteht. JMP 15 wird im Herbst 2019 ausgeliefert.
Betreff: XML direkt in Datentabellen importierenLoad Text File() ist eine Alternative zu Open() für XML und andere Textdateien.Betreff: XML direkt in Datentabellen importierenTolles Beispiel.Ich fand dies viel einfacher zu verstehen als den Scripting Guide oder den Scripting Index.Danke!
Betreff: XML direkt in Datentabellen importierenHallo Stan,
Ich wusste nicht, dass du ein JMP-Mann bist, aber jetzt sehe ich das kleine JMP-Symbol unter deinem Namen, das erklärt es
Nochmals vielen Dank für Ihre Hilfe und ich werde dies in der Tat als zukünftige Verbesserung vorschlagen.
Grüße,
Matthew.
Betreff: XML direkt in Datentabellen importierenMatt,
Großartig!Ich freue mich, dass Sie es nützlich fanden.Unser Support-Team ist fantastisch und immer bereit, Kunden bei Fragen oder Kommentaren zu unterstützen.
Der beste Weg, Funktionen zu einer zukünftigen Version von JMP hinzuzufügen, besteht darin, die Anfrage direkt an zu senden support@jmp.com .
Prost,
Stan
Betreff: XML direkt in Datentabellen importierenHallo Peter,
Danke schön.Ich freue mich, dass Sie das Beispiel hilfreich fanden.Ich habe meine Implementierung anhand der Beispiele aus dem Skriptindex angewendet.Ich habe im Skriptindex nach „XML“ gesucht und mehrere Ergebnisse zurückgegeben.
Ich werde einen Antrag auf Aktualisierung der Dokumentation stellen, um einige zusätzliche Beispiele zu erhalten.
Prost,
Stan
Betreff: XML direkt in Datentabellen importierenStan, das ist ein wirklich cooles Beispiel für die Verwendung von PARSE XML.Ist es irgendwo dokumentiert?In der Online-Hilfe oder den Skriptbüchern zu JMP 11 konnte ich nicht viel finden.
Betreff: XML direkt in Datentabellen importierenHallo Stan,
das funktioniert gut, vielen Dank! Ich werde damit experimentieren, um vollständig zu verstehen, wie die JSL funktioniert.
Falls jemand von JMP dies liest: Die Option, eine wohlgeformte XML-Datendatei direkt in eine Datentabelle zu importieren (ohne die Struktur oder Tiefe der Daten zu kennen), wäre eine nützliche Ergänzung. Ist das machbar oder möglich?
Danke,
Matthew.
Betreff: XML direkt in Datentabellen importierenHallo Matt,
JMP verfügt derzeit nicht über eine direkte Möglichkeit, XML-Dateien mithilfe des Dialogfelds „Datei öffnen“ zu importieren.
Sie könnten jedoch die JSL verwenden, um diese Aufgabe zu erfüllen.
Unten finden Sie ein Beispiel für eine Möglichkeit, dies zu tun.
Vielleicht kann jemand anderes das Skript vereinfachen, um es prägnanter zu gestalten.
Prost,
Stan
// XML-Text zuweisen
xmlTxtFile = „\[
]\"
;
// XML analysieren
XML analysieren ( xmlTxtFile ,
// Eine neue Tabelle erstellen
Auf Element ( "Abschlussprüfung" ,
StartTag (
dt = Neuer Tisch ( „Waffeltisch“ ,
// Neue Spalten erstellen
Neue Spalte ( „Los-ID“ , Charakter ) ,
Neue Spalte ( „Testertyp“ , Charakter ) ,
Neue Spalte ( „Die ID“ , Numerisch ) ,
Neue Spalte ( „Stirb X“ , Numerisch ) ,
Neue Spalte ( „Stirb Y“ , Numerisch ) ,
Neue Spalte ( "Testname" , Charakter ) ,
Neue Spalte ( "Einheitenname" , Charakter ) ,
Neue Spalte ( „Pin-Name“ , Charakter ) ,
Neue Spalte ( „Pin-Ergebnis“ , Numerisch ) ,
) ;
Reihe = 1 ;
) // End Start Tag, FinalTest On Element
) ,
// Nächstes Element abrufen
Auf Element ( "Viel" ,
StartTag (
Wenn ( Reihe > 0 , dt << Zeilen hinzufügen ( 1 )) ;
Spalte ( dt , „Los-ID“ )[ Reihe ()] = XML-Attribut ( „lot_id“ ) ;
Spalte ( dt , „Testertyp“ )[ Reihe ()] = XML-Attribut ( „tester_type“ ) ;
) ,
EndTag ()
) ,
Auf Element ( "Sterben" ,
StartTag (
Spalte ( dt , „Die ID“ )[ Reihe ()] = Num ( XML-Attribut ( „die_id“ )) ;
Spalte ( dt , „Stirb X“ )[ Reihe ()] = Num ( XML-Attribut ( „die_x“ )) ;
Spalte ( dt , „Stirb Y“ )[ Reihe ()] = Num ( XML-Attribut ( „sterb_y“ )) ;
)
) ,
Auf Element ( "Prüfen" ,
StartTag (
Spalte ( dt , "Testname" )[ Reihe ()] = XML-Attribut ( "Testname" ) ;
Spalte ( dt , "Einheitenname" )[ Reihe ()] = XML-Attribut ( "Einheit" ) ;
)
) ,
Auf Element ( "Stift" ,
StartTag (
Spalte ( dt , „Pin-Name“ )[ Reihe ()] = XML-Attribut ( „pin_name“ ) ;
Spalte ( dt , „Pin-Ergebnis“ )[ Reihe ()] = Num ( XML-Attribut ( "Ergebnis" )) ;
) ,
EndTag (
Wenn ( Reihe > 0 , dt << Zeilen hinzufügen ( 1 )) ;
)
)
) ;
// zusätzliche Zeile löschen
Nr = NRow ( dt ) ;
dt << Gehe zur Zeile ( Nr ) ;
dt << Werden Sie ausgewählt () ;
dt << Zeilen löschen ;
// Fehlende Zeilenwerte ergänzen
Für jede Reihe (
cr = Reihe () ;
Wenn ( cr != 1 ,
Wenn ( : Los-ID == „“ , : Los-ID = Verzögerung ( : Los-ID , 1 ) , : Los-ID = : Los-ID ) ;
Wenn ( : Testertyp == „“ , : Testertyp = Verzögerung ( : Testertyp , 1 ) , : Testertyp = : Testertyp ) ;
Wenn ( Wird vermisst ( : Die ID ) == 1 , : Die ID = Verzögerung ( : Die ID , 1 ) , : Die ID = : Die ID ) ;
Wenn ( Wird vermisst ( : Stirb X ) == 1 ,: Stirb X = Verzögerung ( : Stirb X , 1 ) , : Stirb X = : Stirb X ) ;
Wenn ( Wird vermisst ( : Die Y ) == 1 , : Die Y = Verzögerung ( : Die Y , 1 ) , : Die Y = : Die Y ) ;
Wenn ( : Testname == „“ , : Testname = Verzögerung ( : Testname , 1 ) , : Testname = : Testname ) ;
Wenn ( : Einheitenname == „“ , : Einheitenname = Verzögerung ( : Einheitenname , 1 ) , : Einheitenname = : Einheitenname ) ;
) ;
) ;