Unterteilung einer Teilmenge von SpaltenHallo zusammen,
1. Ich habe hier einen rohen Prober-Roboter, der mit kontinuierlichen Zeitdaten pro Sekunde seiner Bewegungsausführungen eine Aufzeichnung von SiteX-Daten protokolliert (Site0~7, das ist im Grunde eine feste Hardware, die einen Wafer berührt), er zeichnet ein X & Y auf und ein BIN es landete.
2. Eine Reihe ist ein Touchdown (von Site0-7) auf einem Wafer. Dieses Rohformat ist jedoch schwer zu manipulieren, es sei denn, ich führe eine Teilmenge und Verkettung durch. Siehe beigefügte JMP-Rohdaten
Benötigte Hilfe:
1. Ich möchte ein Skript erstellen, das die Spalten „site0-7“ automatisch in Teilmengen unterteilt und wie unten beschrieben verkettet.
2. Dann möchte ich eine Waferkarte erstellen, die die Abfolge der Berührungen des Roboters auf dem Wafer über einen längeren Zeitraum hinweg verfolgt. Siehe folgende Tabelle, die ich erstellen möchte:
Hat jemand eine Idee? Danke
| Spalte 1 | Spalte 2 | Spalte 12 | Spalte 13 | Spalte 14 | Spalte 15 | Spalte 16 | Spalte 17 | Spalte 18 | Spalte 19 |
| 14.08.2018 | 23:59:38 Uhr | Site0 | X | 29 | Y | 27 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site0 | X | 29 | Y | 25 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site0 | X | 30 | Y | 25 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site0 | X | 30 | Y | 27 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site0 | X | 34 | Y | 17 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site0 | X | 34 | Y | 18 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site1 | X | 28 | Y | 26 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site1 | X | 28 | Y | 24 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site1 | X | 29 | Y | 24 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site1 | X | 29 | Y | 26 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site1 | X | 33 | Y | 16 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site1 | X | 33 | Y | 17 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site2 | X | 27 | Y | 25 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site2 | X | 27 | Y | 23 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site2 | X | 28 | Y | 23 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site2 | X | 28 | Y | 25 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site2 | X | 32 | Y | 15 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site2 | X | 32 | Y | 16 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site3 | X | 26 | Y | 24 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site3 | X | 26 | Y | 22 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site3 | X | 27 | Y | 22 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site3 | X | 27 | Y | 24 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site3 | X | 31 | Y | 14 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site3 | X | 31 | Y | 15 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site4 | X | 25 | Y | 23 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site4 | X | 25 | Y | 21 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site4 | X | 26 | Y | 21 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site4 | X | 26 | Y | 23 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site4 | X | 30 | Y | 13 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site4 | X | 30 | Y | 14 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Seite5 | X | 24 | Y | 22 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Seite5 | X | 24 | Y | 20 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Seite5 | X | 25 | Y | 20 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Seite5 | X | 25 | Y | 22 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Seite5 | X | 29 | Y | 12 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Seite5 | X | 29 | Y | 13 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site6 | X | 23 | Y | 21 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site6 | X | 23 | Y | 19 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site6 | X | 24 | Y | 19 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site6 | X | 24 | Y | 21 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site6 | X | 28 | Y | 11 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site6 | X | 28 | Y | 12 | Passieren | Behälter | 1 |
| 14.08.2018 | 23:59:38 Uhr | Site7 | X | 22 | Y | 20 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:04 | Site7 | X | 22 | Y | 18 | Passieren | Behälter | 1 |
| 15.08.2018 | 12:00:30 Uhr | Site7 | X | 23 | Y | 18 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:00:56 | Site7 | X | 23 | Y | 20 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:22 | Site7 | X | 27 | Y | 10 | Passieren | Behälter | 1 |
| 15.08.2018 | AM 00:01:48 | Site7 | X | 27 | Y | 11 | Passieren | Behälter | 1 |
Betreff: Unterteilung einer Teilmenge von SpaltenDanke, es funktioniert.
Betreff: Unterteilung einer Teilmenge von SpaltenDie Ursache des Fehlers liegt darin, dass ältere Versionen von JMP nicht mit der eingestellten Meldung << konsistent waren. In JMP 14 ist es viel konsistenter.
Der Fehler trat auf, weil die Meldung für JMP 14 in JMP 12 nicht funktioniert. Dann waren die Get-Spaltennamen für Zeichenspalten nur 59 und nicht 64, also warf idx (das ist 1::64) einen Fehler.Ich habe das Skript so geändert, dass es die aktuelle Datentabelle verwendet, und die ältere Datentypnachricht verwendet.
column(dt,i) << set data type("Character") //jmp 14
column(dt,i) << data type("Character") //jmp12
Betreff: Unterteilung einer Teilmenge von SpaltenJMP 12.0.1 (32bit)
Betreff: Unterteilung einer Teilmenge von SpaltenIch habe gerade das Skript auf Ihrem neuen Tisch ausgeführt und es lief perfekt. Welche JMP-Version verwenden Sie?
Betreff: Unterteilung einer Teilmenge von SpaltenFinde im Anhang
Betreff: Unterteilung einer Teilmenge von SpaltenLaden Sie Ihre neue Tabelle.
Betreff: Unterteilung einer Teilmenge von SpaltenHallo gzmorgan0,
Danke, ich studiere die Codes,
Ich habe eine Spalte 84 bis 90 gelöscht, weil ich diese Spalte nicht benötige, nur die Site0-7 Col12-Col82 muss gestapelt werden, da es sich um dasselbe verwendbare Format handelt. Tut mir leid, dass ich es beim ersten Mal nicht bemerkt habe.
Ich habe das Skript nach dem Löschen von Col84-90 erneut ausgeführt, habe aber folgende Fehlermeldung erhalten:
idx = 1::ns*8;
cnames = (dt << get Column Names(character, "string"))[idx]; //Fehler hier
Fehler im JSL-Debugger
„Subscript-Bereich beim Zugriff oder bei der Auswertung von ‚Subscript‘, (dt << get Column Names( Zeichen, „String“))[/*###*/idx]“
Ich unterbreche den Debugger, um beispielsweise die Rohdatentabelle zu überprüfen. Einige Spaltenattribute wurden nicht in den Datentyp „Zeichen“ geändert.
Ich denke also, weil idx = 1::ns*8, der Index 1~64 ist, wird erwartet, dass die Anzahl der C-Namen kleiner oder gleich diesem Index ist?
cnames Col-Namensinhaber blieb immer noch dabei:
cnames={"Col12~Col90}
Ich hoffe, Sie können mir trotzdem bei diesem Fehler helfen.
Betreff: Unterteilung einer Teilmenge von SpaltenIm Anhang finden Sie ein Skript, das den JMP Table Series Stack verwendet. Aus Erfahrung wird immer behauptet, dass die Tabelle immer das gleiche Format haben wird, aber das ist nicht der Fall.Beachten Sie, dass einige der Site-Spalten numerisch waren und andere nicht.
Probieren Sie das beigefügte Skript in Ihrer Prober-Tabelle aus. Beachten Sie, dass:
- Der Tabellenname ist fest codiert. Möglicherweise möchten Sie ihn in „Current Data Table()“ oder in „offen“ ändern.
- ns ist für das Szenario der Standorte 0–7 auf 8 festgelegt. Für andere Websites entsprechend ändern.
- Führen Sie das Skript bis kurz nach Zeile 24 aus. Sie sollten die ordnungsgemäß gestapelten Daten überprüfen. Vielleicht möchten Sie es auch sortieren.
Sie sollten jede Zeile dieses Skripts lernen und verstehen. Sie können es nicht aufrechterhalten, wenn Sie es nicht verstehen.