| Lautsprecher |
Transkript |
| mystep |
Willkommen zum JMP Discovery Summit. |
| |
Ich bin Mia Stephens, Produktmanagerin bei JMP, und hier ist Jordan Hiller, Systemingenieur bei JMP. Heute sprechen wir über die Automatisierung des Datenkuratierungs-Workflows. |
| |
Wir werden unseren Vortrag in zwei Teile gliedern. Ich werde den Anfang machen und die Grundlagen legen, indem ich über den analytischen Workflow und die Rolle der Datenkuratierung in diesem Workflow spreche. |
| |
Und nun übergebe ich das Wort an Jordan für den Kernpunkt dieses Vortrags. Wir werden über die Notwendigkeit reproduzierbarer Datenkuratierung sprechen. |
| |
Wir werden sehen, wie das in JMP 15 funktioniert. Anschließend erhalten Sie einen Einblick in einige neue Funktionen in JMP 16 zur Aufzeichnung von Datenaufbereitungsschritten und der Aktionen, die Sie zur Vorbereitung Ihrer Daten für die Analyse durchführen. |
| |
Betrachten wir also den Analyse-Workflow. Hier ist ein gängiger Workflow. Und natürlich beginnt alles damit, Ihr Geschäftsproblem zu definieren und das Problem zu verstehen, das Sie lösen möchten. |
| |
Dann müssen Sie die Daten zusammentragen. Natürlich können Sie Daten aus verschiedenen Quellen zusammentragen und diese in JMP importieren. Und schließlich müssen wir die Ergebnisse teilen und unsere Erkenntnisse mit anderen kommunizieren können. |
| |
Der wohl zeitaufwändigste Teil dieses Prozesses ist die Aufbereitung unserer Daten für die Analyse bzw. die Kuratierung unserer Daten. |
| |
Was genau versteht man unter Datenkuratierung? Nun, bei der Datenkuratierung geht es darum sicherzustellen, dass unsere Daten für analytische Erkenntnisse nützlich sind. Im Grunde wollen wir in der Lage sein, ein Problem innerhalb des uns zur Verfügung stehenden Tages zu lösen. |
| |
Hierbei geht es im Wesentlichen um Datenorganisation, Datenstruktur und die Behebung von Datenqualitätsproblemen. |
| |
Wenn man an Probleme oder häufige Probleme mit Daten denkt, lassen sich diese im Allgemeinen in vier Kategorien einteilen. Dazu gehören beispielsweise falsche Formatierung, unvollständige Daten, fehlende Daten oder fehlerhafte bzw. unübersichtliche Daten. |
| |
Um über diese Art von Problemen zu sprechen und zu veranschaulichen, wie wir diese Probleme in unseren Daten identifizieren, greifen wir auf unseren Kurs STIPS zurück. |
| |
Und falls Sie STIPS noch nicht kennen: STIPS ist unser kostenloser Online-Kurs „Statistisches Denken für die industrielle Problemlösung“ und ist in sieben Module unterteilt. |
| |
Einzelmodule. Modul 2 befasst sich ausschließlich mit explorativer Datenanalyse. |
| |
Aufgrund des interaktiven und iterativen Charakters der explorativen Datenanalyse und Datenkuratierung befasst sich die letzte Lektion dieses Moduls mit der Datenaufbereitung für die Analyse. Dabei geht es darum, Qualitätsprobleme in Ihren Daten zu identifizieren und Maßnahmen zu ergreifen, um diese zu kuratieren. |
| |
Sprechen wir also etwas genauer über die häufigsten Probleme. Falsche Formatierung. Was genau verstehen wir unter falscher Formatierung? |
| |
Das passiert, wenn Ihre Daten im falschen Format für die Analyse vorliegen. Das kann die gesamte Datentabelle betreffen. Beispielsweise könnten Ihre Daten in separaten Spalten gespeichert sein, für die Analyse benötigen Sie sie aber in einer einzigen Spalte. |
| |
Dies kann für einzelne Variablen gelten. Möglicherweise verwenden Sie den falschen Modellierungs- oder Datentyp, oder Sie verfügen über Datums- oder Zeitdaten, die in JMP nicht entsprechend formatiert sind. |
| |
Es kann auch kosmetischer Natur sein. Sie könnten beispielsweise Antwortvariablen an den Anfang der Datentabelle verschieben, Ihre Variablen umbenennen oder Faktoren gruppieren, um sie in der Datentabelle leichter auffindbar zu machen. |
| |
Unvollständige Daten bedeuten, dass Daten fehlen. Dies kann wichtige Variablen betreffen, sodass Sie möglicherweise Daten zu Variablen nicht erfassen, die Ihnen letztendlich bei der Lösung Ihres Problems helfen könnten. |
| |
oder auf Kombinationen von Variablen. Oder es könnte einfach bedeuten, dass Sie nicht genügend Beobachtungen haben, dass Ihre Datentabelle nicht genügend Daten enthält. |
| |
Fehlende Daten liegen vor, wenn Werte für Variablen nicht verfügbar sind. Dies kann verschiedene Formen annehmen. |
| |
Und schließlich spricht man von unsauberen oder fehlerhaften Daten, wenn es Probleme mit Beobachtungen oder Variablen gibt. |
| |
Ihre Daten könnten also fehlerhaft sein. Die Werte stimmen einfach nicht. Möglicherweise gibt es Unstimmigkeiten bei der Datenerfassung oder Dateneingabe ins System. |
| |
Ihre Daten könnten ungenau sein, möglicherweise liegt kein geeignetes Messsystem vor, es könnten Fehler oder Tippfehler enthalten sein. |
| |
Die Daten könnten veraltet sein. Es ist also möglich, dass Sie die Informationen über eine Anlage oder Maschine erfasst haben, die nicht mehr in Betrieb ist. |
| |
Die Daten könnten veraltet sein. Der Prozess könnte sich seit Ihrer Datenerhebung so stark verändert haben, dass die Daten nicht mehr nützlich sind. |
| |
Die Daten könnten zensiert oder gekürzt sein. Es könnten redundante Spalten mit identischen Informationen oder doppelte Zeilen vorhanden sein. Unsaubere und fehlerhafte Daten können also viele verschiedene Formen annehmen. |
| |
Wie erkennt man also potenzielle Probleme? Nun, wenn man sich die Daten ansieht, erkennt man erste Anzeichen dafür. Dieser Prozess ist iterativ, und wenn man die Daten grafisch und numerisch analysiert, entdeckt man potenzielle Probleme, die man beheben möchte. |
| |
Oder sie lösen sich. Ein guter Ausgangspunkt ist daher, zunächst die Datentabelle zu überfliegen. Beim Überfliegen der Datentabelle lassen sich oft offensichtliche Probleme erkennen. |
| |
Für dieses Beispiel verwenden wir Daten aus dem STIPS-Kurs „Komponenten“. Das Szenario ist folgendes: Ein Unternehmen stellt kleine Bauteile her und versucht, die Ausbeute zu verbessern. |
| |
Sie haben Daten zu 369 Teilechargen mit 15 Spalten gesammelt. Wenn wir uns die Daten ansehen, erkennen wir sofort einige ziemlich offensichtliche Probleme. |
| |
Wenn wir uns den oberen Teil der Datentabelle ansehen, betrachten wir diese übersichtlichen kleinen Diagramme und können die Verteilungsformen erkennen. Wir können die Werte sehen. |
| |
Nehmen wir zum Beispiel die Chargennummer: Hier wird ein Histogramm angezeigt. Die Chargennummer ist eher eine Kennung als eine kontinuierliche Größe. Daraus lässt sich schließen, dass die Daten falsch codiert wurden. |
| |
Wenn wir uns die Anzahl der verschrotteten Teile ansehen, können wir die Form der Verteilung erkennen. Wir können auch sehen, dass es dort einen negativen Wert gibt, was möglicherweise nicht möglich ist. |
| |
Wir sehen ein Histogramm für den Prozess mit zwei Werten, und dies kann uns sagen, dass wir den Modellierungstyp für den Prozess von kontinuierlich auf nominal ändern müssen. |
| |
Weitere Details finden Sie im Spaltenfeld. Beispielsweise sind Chargennummer und Teilenummer beide als fortlaufend codiert. Diese sind wahrscheinlich nominal. |
| |
Und wenn man sich die Daten selbst ansieht, erkennt man weitere Probleme. So ist beispielsweise die Luftfeuchtigkeit etwas, das wir normalerweise als kontinuierlich betrachten würden, aber man sieht einige Messwerte mit dem Wert N/A. |
| |
Da JMP Text interpretiert, wird die Spalte als nominal codiert. Dies sollten Sie gegebenenfalls korrigieren. |
| |
Wir sehen einige Probleme mit dem Lieferanten. Es fehlen einige Werte, und es gibt einige Tippfehler. Beachten Sie auch die Temperaturangaben: Die Punkte zeigen an, dass in diesen Zeilen Temperaturwerte fehlen. Diesem Problem sollten wir genauer nachgehen. |
| |
So lassen sich bereits durch einfaches Überfliegen der Datentabelle viele Probleme erkennen, und man kann noch mehr potenzielle Probleme identifizieren, wenn man die Daten Variable für Variable visualisiert. |
| |
Ein wirklich guter Ausgangspunkt – und ich mag dieses Tool sehr – ist die Spaltenansicht. Die Spaltenansicht liefert Ihnen numerische Zusammenfassungen für alle von Ihnen ausgewählten Variablen. |
| |
Hier fehlen beispielsweise einige Werte. Bei der Temperatur fehlen 265 von 369 Werten. Das könnte problematisch sein, wenn die Temperatur ein wichtiger Faktor ist. |
| |
Wir können auch potenzielle Probleme mit den in der Datentabelle erfassten Werten erkennen. So weisen beispielsweise sowohl die Ausschussquote als auch die Ausschussmenge negative Werte auf. |
| |
Und falls dies physikalisch nicht möglich ist, sollten wir dies möglicherweise in dem System untersuchen, in dem wir die Daten gesammelt haben. |
| |
Ein Blick auf die berechneten Statistiken offenbart weitere Probleme. So sollten beispielsweise Chargennummer und Teilenummer eindeutig kategorisiert werden. |
| |
Es ist nicht sinnvoll, die durchschnittliche Chargennummer oder die durchschnittliche Teilenummer zu verwenden. Daher sollten Sie wahrscheinlich Ihre Datentabelle überprüfen und den Modelltyp ändern. |
| |
Verteilungen geben uns viele Aufschluss über unsere Daten und mögliche Probleme. Wir können die Form der Verteilungen, die Zentrierung und die Streuung erkennen. Auch Tippfehler lassen sich so aufdecken. |
| |
Das Problem hierbei ist, dass es vier oder fünf Hauptkunden und einige kleinere Kunden gibt. Wenn Sie die Kundennummer für eine Analyse verwenden möchten, sollten Sie die kleineren Kunden mithilfe von Recode in einer anderen Kategorie zusammenfassen. |
| |
Wir haben ein Balkendiagramm für die Luftfeuchtigkeit, da in der Spalte ein Wert für „nicht verfügbar“ (N/A) vorhanden ist. Beim Durchsehen der Datentabelle wäre uns das vielleicht nicht aufgefallen, aber hier, in der Verteilung, wird es deutlich sichtbar. |
| |
Die Tippfehler beim Lieferanten sind deutlich zu erkennen. |
| |
Und wenn wir uns stetige Variablen ansehen, können wir uns wiederum die Form, die Zentrierung und die Streuung ansehen, aber wir können auch einige ungewöhnliche Beobachtungen innerhalb dieser Variablen feststellen. |
| |
Nachdem man sich die Daten also Variable für Variable angesehen hat, ist es ein natürlicher nächster Schritt, die Daten mit zwei oder mehr Variablen gleichzeitig zu untersuchen. |
| |
Wenn wir uns beispielsweise die Ausschussquote im Vergleich zur Ausschussmenge im Graph Builder ansehen. |
| |
Wir erkennen ein Interesse an Mustern. Wir sehen also diese Bänder, und es könnte sein, dass unsere Datentabelle etwas enthält, das uns hilft zu erklären, warum wir dieses Muster sehen. |
| |
Tatsächlich macht es für uns Sinn, die Teile nach Losgröße zu farblich zu kennzeichnen. Bei Losen mit 5000 Teilen ist die Wahrscheinlichkeit für Ausschuss deutlich höher als bei Losen mit nur 200 Teilen. |
| |
Wir sehen außerdem einige ungewöhnliche Beobachtungen im unteren Bereich. Genauer gesagt handelt es sich um Beobachtungen mit negativen Werten für die Anzahl der Ausschussteile, die in dieser Grafik besonders auffallen. |
| |
Und wenn Sie einen Spaltenumschalter oder Datenfilter hinzufügen, können Sie diesen Diagrammen zusätzliche Dimensionen verleihen. So kann ich mir beispielsweise den Druck ansehen, |
| |
zum Beispiel, anstatt... |
| |
Ich kann mir den Druck ansehen oder auf Verweildauer umschalten. Mir geht es darum, ein Gefühl für den allgemeinen Zusammenhang zwischen diesen Variablen und der Reaktion zu bekommen. |
| |
Und ich sehe, dass der Druck anscheinend einen positiven Zusammenhang mit der Ausschussrate aufweist. Wenn ich hingegen auf Verweilzeit umschalte, sehe ich, dass es wahrscheinlich keinen großen Zusammenhang zwischen diesen beiden Faktoren gibt. |
| |
Verweilzeit und Abriebrate bzw. Temperatur. Daher sind diese Variablen möglicherweise nicht so aussagekräftig für die Lösung des Problems. |
| |
Aber sehen Sie sich die Geschwindigkeit an, die Geschwindigkeit hat einen negativen Zusammenhang. Und ich habe oben auch einige ungewöhnliche Beobachtungen gemacht, die ich vielleicht untersuchen möchte. |
| |
Man kann also schon durch bloßes Betrachten der Daten viel über sie lernen. |
| |
Selbstverständlich gibt es auch fortgeschrittenere Werkzeuge zur Untersuchung von Ausreißern und fehlenden Werten, die jedoch den Rahmen dieser Diskussion sprengen würden. |
| |
Und wenn Sie in die Analysephase eintreten, wenn Sie mit der Analyse Ihrer Daten oder dem Erstellen von Modellen beginnen, werden Sie viel mehr über potenzielle Probleme erfahren, mit denen Sie sich auseinandersetzen müssen. |
| |
Und das Wichtigste ist, dass Sie sich beim Durchsehen Ihrer Daten und der Identifizierung dieser Probleme Notizen zu diesen Problemen machen. |
| |
Einige dieser Probleme lassen sich im Laufe des Prozesses lösen. Daher können Sie Ihre Daten möglicherweise im Verlauf des Prozesses umstrukturieren und bereinigen. |
| |
Sie sollten aber unbedingt darauf achten, die einzelnen Schritte zu dokumentieren, damit Sie diese später wiederholen können, falls Sie die Analyse wiederholen müssen oder falls Sie die Analyse mit neuen oder anderen Daten wiederholen möchten. |
| |
Und an dieser Stelle übergebe ich das Wort an Jordan, der über reproduzierbare Datenkuratierung und deren Bedeutung sprechen wird. |
| Jordan Hiller |
Okay, danke Mia. Das war super. Und wir haben gelernt, wie man in JMP Daten per Mausklick aufbereitet. Sprechen wir jetzt darüber, wie man das reproduzierbar macht. |
| |
Der Grund für unsere Bedenken hinsichtlich der Reproduzierbarkeit ist, dass Ihre Datensätze regelmäßig mit neuen Daten aktualisiert werden. Wäre dies eine einmalige Aktivität, würden wir uns über die einfache Bedienung per Mausklick keine großen Gedanken machen. Da die Daten jedoch immer wieder aktualisiert werden, … |
| |
Es ist zu arbeitsintensiv, die Datenaufbereitung jedes Mal per Mausklick zu wiederholen. |
| |
Daher ist es effizienter, ein Skript zu generieren, das alle Schritte der Datenaufbereitung durchführt, und dieses Skript kann mit einem Klick auf eine Schaltfläche ausgeführt werden. |
| |
und alles auf einmal erledigen. Neben der Effizienz also, |
| |
Es dokumentiert Ihren Prozess. Es dient als Aufzeichnung Ihrer Vorgehensweise. So können Sie später selbst darauf zurückgreifen und sich daran erinnern, was Sie getan haben, oder es dient auch denjenigen als Aufzeichnung, die nach Ihnen für diesen Prozess verantwortlich sind. |
| |
Im weiteren Verlauf dieser Präsentation möchte ich Ihnen zeigen, wie Sie mit nur wenigen Klicks ein Datenkuratierungsskript erstellen können. |
| |
Wir hoffen, dass Sie dafür keine Programmierkenntnisse benötigen. Der Programmcode wird extrahiert und für Sie gespeichert. Wir werden Ihnen im Folgenden kurz erläutern, wie das genau funktioniert. |
| |
Es gibt also zwei verschiedene Abschnitte. Der eine beschreibt, was Sie jetzt in JMP 15 tun können, um ein Datenkuratierungsskript zu erhalten, und der andere, was Sie tun werden, sobald wir nächstes Jahr JMP 16 veröffentlichen. |
| |
In JMP 15 gibt es einige Datenkuratierungsaufgaben, die ihren eigenen wiederverwendbaren JSL-Skriptcode generieren. |
| |
Man führt einfach die gewünschte Aktion aus und klickt, und dann gibt es eine Technik, um den Code zu extrahieren. Ich werde das demonstrieren. Tools wie Recode, |
| |
Eine neue Formelspalte mit der Berechnung erstellen, Datentabellen umformen – diese Werkzeuge finden Sie im Tabellenmenü. Dort stehen die Funktionen Stapeln, Teilen, Verbinden, Verketten und Aktualisieren zur Verfügung. |
| |
In JMP 15 wird nach der Ausführung per Mausklick ein eigenes Skript generiert. |
| |
Es gibt weitere häufige Aufgaben, die kein eigenes JSL-Skript generieren, und um die Ausführung dieser Aufgaben zu vereinfachen und sie reproduzierbar zu machen, |
| |
Und es hilft bei folgenden Aufgaben, hauptsächlich Spaltenverwaltung, Ändern der Datentypen von Spalten, der Modelltypen, Ändern des Anzeigeformats, |
| |
Sie können Spalten in Ihrer Datentabelle umbenennen, neu anordnen und löschen sowie Spalteneigenschaften wie Spezifikationsgrenzen oder Wertbezeichnungen festlegen. |
| |
Der Datenbereinigungsskript-Assistent ist das Werkzeug, das Sie verwenden werden, um Sie bei diesen Aufgaben in JMP 15 zu unterstützen. |
| |
Wir geben Ihnen eine exklusive Vorschau auf JMP 16 und freuen uns sehr über die neuen Funktionen im Protokoll von JMP 16. Ich glaube, es wird der erweiterte Protokollmodus genannt werden. |
| |
Die Grundidee ist, dass Sie in JMP 16 Ihre Datenaufbereitungsschritte wie gewohnt einfach per Mausklick durchführen können. |
| |
Der benötigte JSL-Code wird automatisch generiert und protokolliert. Sie müssen ihn lediglich kopieren und speichern. So einfach und wirklich nützlich – ich freue mich, Ihnen das zu zeigen. |
| |
Hier ist eine Kurzübersicht. In JMP 15 sind dies die Aufgaben auf der linken Seite, gängige Aufgaben der Datenkuratierung; die Liste ist nicht vollständig. |
| |
Die mittlere Spalte zeigt, wie Sie diese Aktionen per Mausklick in JMP ausführen. Die Methode zum Extrahieren des wiederverwendbaren Skripts ist rechts aufgeführt. Daher werde ich hier nicht alles behandeln. |
| |
Ja, das ist für dich als spätere Referenz. Lass uns eine Demo ansehen. Ich zeige dir, wie man einige der von Mia identifizierten Probleme mit der Komponentendatentabelle behebt. Ich beginne mit JMP 15. |
| |
Und als Erstes werden wir über einige dieser Spaltenprobleme sprechen, die sich ändern. |
| |
Ändern |
| |
Die Datentypen, die Modelltypen, solche Dinge. Wenn es Ihnen nur um Point-and-Click ginge. |
| |
In JMP würden Sie normalerweise folgendermaßen vorgehen, beispielsweise für die Luftfeuchtigkeit. Dies ist die Spalte, an die Sie sich erinnern werden. |
| |
Da sich dort Text befindet, wird dieser fälschlicherweise als Zeichenspalte angezeigt. Um dies per Mausklick zu korrigieren, klicken Sie normalerweise mit der rechten Maustaste, rufen die Spalteninformationen auf und nehmen die gewünschten Änderungen vor. |
| |
Dies ist eine jener JMP-Aufgaben, die in JMP 15 kein verwendbares Skript hinterlassen. Daher verwenden wir hierfür den Assistenten für Datenbereinigungsskripte. Los geht's. |
| |
Es befindet sich im Add-Ins-Menü, da ich es installiert habe. Sie können es auch installieren. Der Datenbereinigungs-Skriptassistent, das dafür benötigte Tool, heißt Victor the Cleaner. Dies ist ein |
| |
Die grafische Benutzeroberfläche ermöglicht Änderungen an Spalten, sodass wir hier Datentypen und Modelltypen bearbeiten können. Wir können Spalten umbenennen, ihre Reihenfolge ändern, Spalten löschen und das Skript anschließend speichern. Nehmen wir also einige Änderungen vor. |
| |
Bei der Luftfeuchtigkeit handelt es sich um den Wert mit den fehlenden Verfügbarkeitswerten (N/A), der dazu geführt hat, dass er als Text eingegeben wurde. Wir werden ihn von einer Zeichenkettenvariable in eine numerische Variable umwandeln. Außerdem werden wir ihn von nominal in kontinuierlich ändern. |
| |
Wir haben außerdem festgestellt, dass die Chargennummer in eine nominale Nummer geändert werden muss; auch die Teilenummer muss in eine nominale Nummer geändert werden, und die Prozessnummer, die derzeit eine Nummer ist, sollte ebenfalls geändert werden. |
| |
nominell. |
| |
Fab Tech. Das ist also für mich nicht hilfreich. Löschen wir die Spalte „Anlage“. Ich wähle sie hier aus, indem ich auf ihren Namen klicke und dann auf „Löschen“ klicke. |
| |
Hier sind ein paar der von Mia erwähnten kosmetischen Änderungen. Die Ausschussquote steht am Ende meiner Tabelle. Ich möchte sie nach vorne verschieben. Ich werde sie auf die vierte Position verschieben. |
| |
Kundennummer. Wir wählen sie also aus und verschieben sie mithilfe der Pfeile in der Reihenfolge direkt hinter die Kundennummer. |
| |
Die letzte Änderung, die ich vornehmen werde, ist, dass ich die Variable „Druck“ umbenennen werde. |
| |
Meine Ingenieure in meiner Organisation nennen diese Kolonne „PSI“. Deshalb möchte ich ihr auch diesen Namen geben. Gut, das sind also alle Änderungen, die ich hier vornehmen möchte. |
| |
Ich muss einige Entscheidungen treffen. Ich kann festlegen, ob das Skript in der Datentabelle selbst gespeichert wird. Dadurch würde hier oben links ein kleiner Skriptbereich entstehen. |
| |
Wir speichern die Datei in einem separaten Fenster, beispielsweise in einem Skriptfenster. Sie können außerdem festlegen, ob die von Ihnen angegebenen Reinigungsaktionen beim Klicken auf „OK“ ausgeführt werden sollen. Wir aktivieren die Ausführung und klicken auf „OK“. |
| |
Sie werden nun sehen, dass all diese Änderungen vorgenommen wurden. Die Anordnung wurde geändert, Spalteneigenschaften haben sich geändert usw. |
| |
Wir haben ein Skript dafür. Es läuft in einem eigenen Fenster und bildet die Grundlage. Darauf aufbauend entwickeln wir unser Skript zur Datenaufbereitung. Speichern wir es. Ich speichere es auf meinem Desktop. Und ich nenne es „…“. |
| |
v15 Kurationsskript. |
| |
Modelltypen ändern, Datentypen ändern, Dinge umbenennen, Dinge neu anordnen. |
| |
Diese Informationen stammen alle von Victor. Ich werde das in meinem Code dokumentieren. Es ist ratsam, kurze Kommentare im Code zu hinterlassen, damit man ihn später wiederfinden kann. Ich werde einen Hinweis hinzufügen, dass dies vom Victor-Tool stammt. |
| |
Und sagen wir, von DCSA, für Victor, den Assistenten für Datenbereinigungsskripte. Das ist also ein Kommentar. Die beiden Schrägstriche bilden ein |
| |
Diese Zeile in Ihrem Programm ist ein Kommentar. Das bedeutet, dass der Programminterpreter sie nicht als Programmcode ausführt. Sie wird lediglich als kleiner Hinweis erkannt und ist oben grün markiert. |
| |
Es ist eine gute Idee, sich selbst kleine Kommentare im Skript zu hinterlassen. Gut, weiter geht's. |
| |
Die nächste Aufgabe, die ich angehen werde, ist die Rubrik „Lieferanten“. Mia hat uns mitgeteilt, dass es hier einige Probleme gibt, die behoben werden müssen. |
| |
Wir verwenden dafür das Recode-Tool. Recode ist eines der Tools in JMP 15, das ein eigenes Skript hinterlässt. Man muss nur wissen, wo man es findet. Also, Recoden wir und kopieren das Skript (Rechtsklick). |
| |
neu codieren. |
| |
Wir werden diese Datenwerte korrigieren. Ich beginne mit dem roten Dreieck. Zuerst wandeln wir den gesamten Text in Titelform um. Dadurch wird der kleingeschriebene Wert „Hersch“ hier unten bereinigt. |
| |
Entfernen wir auch überflüssige Leerzeichen und Zeichen. Dadurch wurde der führende Abstand in diesem Anderson-Text bereinigt. Okay. |
| |
Alle Änderungen, die Sie im Recodierungstool vornehmen, werden in dieser Liste gespeichert. Sie können diese durchgehen, rückgängig machen, wiederherstellen und die Historie beliebig oft durchlaufen. |
| |
Okay, ich muss nur noch ein paar Änderungen vornehmen. Ich mache das manuell. Gruppieren wir die Hershes, die Coxes und alle Andersons. |
| |
Trutna und Worley haben bereits Recht. Zuletzt werde ich mich mit diesen fehlenden Werten befassen. Wir werden sie einer eigenen Kategorie für fehlende Werte zuordnen. |
| |
Das ist mein Recodierungsprozess. Ich bin mit meinen Aufgaben fertig. Wenn ich einfach nur klicken würde, würde ich jetzt auf „Recodieren“ klicken und wäre fertig. Aber ich brauche ja noch dieses Skript. Deshalb gehe ich jetzt zum roten Dreieck. |
| |
Gehen wir nun zum Skriptbereich und speichern wir dieses Skript in einem Skriptfenster. |
| |
Hier ist es in einem eigenen Skriptfenster gespeichert, und ich werde diesen Abschnitt einfach ans Ende meines laufenden Kurationsskripts einfügen. |
| |
Also, mal sehen. Ich nehme einfach alles von hier. Ich muss es mir nicht mal ansehen. Genau. Ich muss kein Programmierer sein, Strg+C drücken und es einfach unten einfügen. Und wir notieren uns, dass das vom roten Dreiecks-Recode stammt. |
| |
Okay, ich kann dieses Fenster schließen. Ich brauche es nicht mehr. Und ich speichere diese Aktualisierungen in meinen Kurationsskripten. Das war also das Recodieren und die Art und Weise, wie du |
| |
Hol dir das |
| |
Der Code dafür. |
| |
Okay, die nächste Aufgabe, die wir angehen werden, ist die Berechnung. |
| |
Ein Ergebnis. Oh, Entschuldigung. Ich werde jetzt die Neucodierung ausführen. Nachdem ich das Skript gespeichert habe, führe ich die Neucodierung aus. Und da ist sie, die neu codierte Lieferantenspalte. Perfekt. |
| |
Okay, berechnen wir eine Ausbeutespalte. Das ist etwas überflüssig, mir ist klar, dass wir die Ausschussquote bereits haben. |
| |
Um das Ganze zu verdeutlichen, zeigen wir Ihnen, wie Sie eine neue Spalte berechnen und deren Skript extrahieren. Auch hier, in JMP 15, finden Sie das Skript ganz einfach, wenn Sie wissen, wo Sie suchen müssen. Also, erstellen wir unsere Spalte „Ertrag“. |
| |
Neue Spalte, hier oben doppelklicken, von Spalte 16 in Ergebnis umbenennen. |
| |
Und lasst uns ihr eine Formel zuweisen. |
| |
Um die Ausbeute zu berechnen, muss ich herausfinden, wie viele gute Einheiten in jeder Charge enthalten sind. Das ergibt sich aus der Chargengröße abzüglich der Anzahl der Ausschussteile. |
| |
Das ist also die Anzahl der einwandfreien Einheiten in jeder Charge. Ich teile diese Zahl durch die Gesamtchargengröße, und hier ist meine Ausbeutespalte. Ja, Sie sehen, dass die Ausbeute hier 0,926 beträgt. |
| |
Die Ausschussquote beträgt 0,074, 1 minus Ausbeute. Perfekt. Die Berechnung stimmt. Nachdem ich die Spalte für die Ausbeute erstellt habe, kopieren wir nun das zugehörige Skript. Und hier kommt der Trick: Rechtsklick, Spalten kopieren. |
| |
Mit einem Rechtsklick Spalten kopieren. |
| |
Einfügen. Und da ist es. Fügen Sie der Datentabelle eine neue Spalte hinzu. Sie heißt „Ertrag“ und hier ist ihre Formel. |
| |
Ich sagte ja bereits, dass man keine Programmierkenntnisse braucht, aber hier gibt es wohl eine kleine Ausnahme. Das ist Ihnen wahrscheinlich schon aufgefallen. |
| |
In JSL steht am Ende jedes Schritts ein Semikolon. Dieses trennt verschiedene JSL-Ausdrücke. Wenn Sie am Ende Ihres Skripts etwas Neues hinzufügen, müssen Sie darauf achten, dass dazwischen ein Semikolon steht. Ich tippe also gerade ein Semikolon. Die Spalten kopieren |
| |
Die Funktion hat das Semikolon nicht hinzugefügt, daher muss ich es manuell hinzufügen. |
| |
Okay, gut. Das war also unsere Ertragsspalte. Als Nächstes möchte ich Folgendes ansprechen. |
| |
Meine Prozesse sind mit 1 und 2 gekennzeichnet. Das ist nicht sehr benutzerfreundlich. Ich möchte ihnen aussagekräftigere Bezeichnungen geben. Wir werden Prozess 1 als Produktion und Prozess 2 als Experiment bezeichnen. Wir verwenden dafür Wertbezeichnungen. |
| |
Wertbeschriftungen sind ein Beispiel für Spalteneigenschaften. Es gibt eine ganze Liste verschiedener Spalteneigenschaften, die Sie einer Spalte hinzufügen können. |
| |
Das betrifft beispielsweise Maßeinheiten. Wenn Sie beispielsweise die Reihenfolge der Elemente in einem Diagramm ändern möchten, können Sie die Wertreihenfolge verwenden. |
| |
Wenn Sie Kontrollgrenzen, Spezifikationsgrenzen oder ein historisches Sigma für Ihre Qualitätsanalyse hinzufügen möchten, können Sie dies hier ebenfalls tun. |
| |
Okay. Das sind also alles Spalteneigenschaften, die wir hinzufügen, Metadaten, die wir den Spalten hinzufügen. |
| |
Wir benötigen den Skriptassistenten für die Datenbereinigung, um auf das JSL-Skript zum Hinzufügen dieser Spalteneigenschaften zuzugreifen. So gehen wir vor: Zuerst fügen wir die Spalteneigenschaften wie gewohnt per Mausklick hinzu. Ich füge nun meine Wertbezeichnungen hinzu. |
| |
Prozess Nummer 1, wir rufen die Produktion auf. Hinzufügen. |
| |
Prozess Nummer 2 nennen wir experimentell. |
| |
Und durch Hinzufügen dieser Wertelabel-Spalteneigenschaft, |
| |
Meine Datentabelle erhält nun aussagekräftige Beschriftungen. Anstatt „Prozess 1“ und „Prozess 2“ zu sehen, wird mir „Produktion“ und „Experiment“ angezeigt. |
| |
Assistent für Datenbereinigungsskripte. Wir wählen den passenden Kopierer aus. |
| |
Es ist eine kleine Meldung erschienen, die besagt, dass das Skript für die Spalteneigenschaften in die Zwischenablage kopiert wurde, und dann kehren wir zu unserem laufenden Skript zurück. |
| |
vom Kopierer des DCSA-Eigentums. |
| |
Und dann einfügen (Strg+V zum Einfügen). Hier ist das Skript, mit dem wir die beiden Wertbezeichnungen zuweisen. Fertig. |
| |
Sehr gut. Okay, ich muss noch einen Datenaufbereitungsschritt durchführen, wofür wir den Datenbereinigungsskript-Assistenten benötigen. |
| |
Wir möchten nur die Zeilen in dieser Datentabelle betrachten, in denen die Vakuumfunktion deaktiviert ist. Richtig. Das sind 313 solcher Zeilen. |
| |
Ich möchte in dieser Datentabelle die Zeilen entfernen, in denen VACUUM aktiviert ist. Dazu wählt man die entsprechenden Zeilen per Mausklick aus, wie ich es gerade getan habe, und führt anschließend den Befehl „Tabellenteilmenge“ aus. |
| |
Um verwendbaren Code zu erhalten, müssen wir den Datenbereinigungs-Skriptassistenten erneut verwenden. So filtern wir die Datentabelle nach den Zeilen, für die VACUUM deaktiviert ist: Zuerst verwenden wir im Zeilenmenü unter dem Untermenü „Zeilenauswahl“ die Option „Auswählen, wo“. |
| |
Um ein wiederverwendbares Skript für die Auswahl zu erhalten, verwenden wir einen Befehl. Wir wählen die Zeilen aus, in denen die Funktion „Vacuum“ deaktiviert ist. |
| |
Und bevor ich auf OK klicke, um diese Auswahl auszuführen, gehe ich noch einmal auf das rote Dreieck und speichere das Skript im Skriptfenster. |
| |
Strg+A. Strg+C zum Kopieren und anschließendes Einfügen. |
| |
Aus Reihen. |
| |
Wählen Sie aus, wo |
| |
Strg+V. Hier ist also der JSL-Code, der die Zeilen auswählt, in denen die Vakuumfunktion deaktiviert ist. Jetzt brauche ich noch einmal Folgendes: |
| |
Um die ausgewählten Zeilen zu erhalten, müssen wir den Datenbereinigungs-Skriptassistenten verwenden. Oh, lassen Sie uns zunächst die Auswahl ausführen. |
| |
Da ist sie. Nachdem wir die Zeile ausgewählt haben, gehen wir wieder zu Add-Ins, Datenbereinigungsskript-Assistent, Teilmenge der ausgewählten Zeilen. |
| |
Ich werde aufgefordert, meiner neuen Datentabelle, die die Teilmenge der Daten enthält, einen Namen zu geben. Nennen wir sie „Vacuum, Vacuum Off“. Das ist der Name meiner neuen Datentabelle. Nach dem Klicken auf „OK“ erscheint eine weitere Meldung, dass das Skript für die Teilmenge in die Zwischenablage kopiert wurde. |
| |
Und so kleben wir es ganz unten ein. |
| |
Da ist es ja. |
| |
Und das ist nun unser vollständiges Datenaufbereitungsskript für JMP 15. Sehen wir uns an, wie es in der Praxis funktioniert. Ich schließe jetzt die Datentabelle, an der wir gearbeitet und die wir für die Aufbereitung korrigiert haben. Schließen wir sie und kehren wir zum vorherigen Zustand zurück. |
| |
der chaotische Zustand. |
| |
Bitte stellen Sie sicher, dass ich die richtige Version von JMP verwende. |
| |
Okay. Ja, hier sind sie, die unstrukturierten Daten. Und nehmen wir an, es sind neue Zeilen hinzugekommen, da es sich um eine Produktionsumgebung handelt und ständig neue Daten eintreffen. Ich muss meinen Datenaufbereitungsprozess erneut ausführen. |
| |
Skript ausführen. |
| |
Es wurden alle diese Operationen durchgeführt. Beachten Sie die Wertbezeichnungen. Beachten Sie, dass die Luftfeuchtigkeit kontinuierlich ist. Beachten Sie, dass wir nur die Zeilen angezeigt haben, in denen die Vakuumanlage ausgeschaltet ist. Der gesamte Arbeitsablauf |
| |
Das lässt sich nun mit einem JSL-Skript reproduzieren. Beachten Sie dies also für JMP 15. Bei einigen Tools können Sie das JSL-Skript direkt extrahieren; für andere verwenden Sie mein Add-in, den Datenbereinigungs-Skriptassistenten. |
| |
Und jetzt zeigen wir Ihnen, wie viel Spaß das in JMP 16 macht und wie einfach es ist. Ich werde nicht den gesamten Arbeitsablauf durchgehen. |
| |
Wir wiederholen das Ganze nicht noch einmal, da es etwas redundant wäre, aber gehen wir einfach einen Teil dessen durch, was wir besprochen haben. Wir befinden uns hier in JMP 16 und ich werde das Protokoll öffnen. |
| |
Das Protokoll sieht in JMP 16 anders aus, und Sie werden einige dieser Unterschiede jetzt sehen. Öffnen wir die Daten der unübersichtlichen Komponenten. |
| |
Hier ist es. Im Protokoll sehen Sie einen Abschnitt, der besagt, dass ich die unübersichtliche Datentabelle geöffnet habe. Und hier unten befindet sich das JSL-Skript, das Folgendes bewirkt: |
| |
Das haben wir gerade gemacht. Es handelt sich also um eine Art fortlaufendes Protokoll, das automatisch alle benötigten Skripte erfasst. Es ist noch nicht vollständig. |
| |
Es werden ständig neue Funktionen hinzugefügt. Und ich gehe davon aus, dass dies auch weiterhin so sein wird. |
| |
Aber schon jetzt ist diese erweiterte Protokollierungsfunktion sehr, sehr nützlich und deckt den Großteil Ihrer Datenaufbereitungsaktivitäten ab. |
| |
Ich möchte außerdem erwähnen, dass ich Ihnen hier die Vorabversion von JMP zeige. Es handelt sich um Version 5. Sobald wir die vollständige Version veröffentlichen, wird es eine Vorabversion geben. |
| |
Die Serienversion von JMP 16 wird voraussichtlich Anfang nächsten Jahres etwas anders aussehen als die, die Sie jetzt sehen. |
| |
Okay, dann machen wir weiter und gehen einige der Schritte zur Datenaufbereitung noch einmal durch. Ich werde nicht den gesamten Workflow erläutern, da das redundant wäre. Konzentrieren wir uns einfach auf einige davon. |
| |
Ich werde einige der Dinge erläutern, für die wir Victor früher benötigten. In JMP 16 benötigen wir den Datenbereinigungs-Skriptassistenten nicht mehr. Wir arbeiten wie gewohnt per Mausklick. |
| |
Wir ändern also die Luftfeuchtigkeitsanzeige von Zeichenketten- auf numerische Werte und von nominal auf kontinuierliche Werte und klicken auf OK. So sieht das im strukturierten Protokoll aus. |
| |
Ich habe das JSL erfasst. Gut, zurück zur Datentabelle. Wir ändern den Modellierungstyp für Chargennummer und Teilenummer sowie den Prozess von kontinuierlich auf nominal. |
| |
Das ist erledigt. Das wurde auch im Protokoll erfasst. Wir löschen nun die Spalte „Einrichtung“, die nur einen Wert enthält. Rechtsklick > Spalten löschen. Fertig. |
| |
PSI. |
| |
Okay, das waren also alle Tools ... all die Dinge, die wir in Victor in JMP 15 gemacht haben. Hier in JMP 16 hinterlassen all diese Aktionen JMP-Skripte, die wir einfach kopieren und hier wiederverwenden können. Wunderbar. |
| |
Okay. Nur noch ein Schritt, den ich Ihnen zeige. Wir zeigen Ihnen, dass die Option zum Entfernen der Teilmenge deaktiviert ist. In JMP 16 ist das viel einfacher. Wir müssen lediglich Folgendes tun: |
| |
Ich wähle alle deaktivierten Vakuumzellen aus. Dazu muss ich nicht einmal das Zeilenmenü verwenden, sondern kann einfach mit der rechten Maustaste auf eine dieser deaktivierten Zellen klicken und „Übereinstimmende Zellen auswählen“ wählen. Dadurch werden die 313 Zeilen ausgewählt, in denen die Vakuumfunktion deaktiviert ist. Anschließend verwende ich wie üblich den Befehl „Tabellenteilmenge“, um nur die ausgewählten Zeilen anzuzeigen. |
| |
Wir erstellen nun eine neue Tabelle namens „vacuum off“, die nur die ausgewählten Zeilen enthält und alle Spalten beibehält. Los geht’s. |
| |
Das war's. Wir haben soeben alle Schritte zur Datenaufbereitung durchgeführt. So sieht das im strukturierten Protokoll aus. |
| |
Um daraus ein wiederverwendbares, reproduzierbares Datenkuratierungsskript zu erstellen, müssen wir lediglich auf das rote Dreieck klicken und das Skript in einem Skriptfenster speichern. Ich speichere es jetzt als v16-Kurationsskript auf meinem Desktop. |
| |
Und hier ist es. Hier ist das gesamte Skript. Schließen wir also alle Daten in JMP 16 und zeigen Ihnen, wie es ist, das Skript erneut auszuführen. |
| |
Hier bin ich wieder im Startfenster von JMP 16. Hier ist mein Kurationsskript. Sie werden feststellen, dass die erste Zeile der Befehl zum Öffnen ist, daher muss ich die Datentabelle gar nicht erst öffnen. Das passiert direkt hier. |
| |
Alles, was ich tun muss, ist, dass ich, wenn neue Daten eingehen und diese Datei aktualisiert wurde, lediglich das Skript ausführen muss, um meine Datenaufbereitungsschritte durchzuführen. |
| |
Und da ist es. Alle Kurationsschritte und die Auswahl der 313 Zeilen. Das bedeutet, dass man das erweiterte Protokoll in JMP 16 nutzt, um die gesamte Datenkuratierung zu erfassen und in ein reproduzierbares Skript umzuwandeln. |
| |
Okay, hier ist nochmal die JMP 15-Kurzübersicht zur Erinnerung: Das müssen Sie wissen, um wiederverwendbaren Code in JMP 15 zu extrahieren. Mit JMP 16 müssen Sie sich darüber keine Gedanken mehr machen. |
| |
Anfang 2021. |
| |
Zusammenfassend hat Mia Ihnen also gezeigt, wie Sie in JMP Datenkuratierung erreichen. Es handelt sich um einen explorativen und iterativen Prozess, bei dem Sie Probleme identifizieren und diese per Mausklick beheben. |
| |
Wenn Ihre Daten regelmäßig mit neuen Daten aktualisiert werden, müssen Sie diesen Workflow automatisieren, um Zeit zu sparen. |
| |
Und außerdem sollten Sie Ihren Prozess dokumentieren und sich eine Art Brotkrumenspur hinterlassen, wenn Sie später zurückkommen und sich ansehen, was Sie getan haben. |
| |
Der Automatisierungsprozess besteht darin, Ihre Point-and-Click-Aktivitäten in ein wiederverwendbares JSL-Skript zu übersetzen. |
| |
Wir haben besprochen, wie Sie in JMP 15 eine Kombination aus integrierten Tools und Tools aus dem Data Cleaning Script Assistant verwenden können, um diese Ziele zu erreichen. |
| |
Wir haben Ihnen außerdem einen ersten Einblick in JMP 16 gegeben und gezeigt, wie Sie das verbesserte Protokoll nutzen können, um Ihre Datenaufbereitungsaktivitäten per Mausklick automatisch und passiv zu erfassen und eine ansprechende, wiederverwendbare Protokolldatei zu erstellen. |
| |
Reproduzierbares Datenkuratierungsskript. |
| |
Okay. Das war unsere Präsentation, vielen Dank für Ihre Zeit. |