Lautsprecher | Transkript |
| Mia Stephens | Willkommen beim JMP Discovery Summit. Ich bin Mia Stephens und Produktmanagerin bei JMP. Und zu mir gesellt sich Jordan Hiller, ein Systemingenieur. Und heute werden wir über die Automatisierung des Datenkurations-Workflows sprechen. |
| Und dies ist die Zusammenfassung nur als Referenz; Ich werde nicht darüber reden. |
| Und wir werden diesen Vortrag in zwei Teile unterteilen. Ich werde damit beginnen und über den Analyse-Workflow sprechen |
| und über Datenerstellung sprechen, was wir unter Datenkuration verstehen. Und wir werden sehen, wie Sie potenzielle Datenqualitätsprobleme in Ihren Daten identifizieren können. |
| Und dann werde ich es Jordan übergeben, und Jordan wird über die Notwendigkeit der Reproduzierbarkeit sprechen. |
| Er wird uns einen Spickzettel für die Datenkuratierung zeigen und zeigen, wie Sie Ihre Daten in JMP kuratieren. |
| den Aktionsrekorder und das erweiterte Protokoll. |
| Sprechen wir also über den Analyseworkflow. |
| Alles beginnt damit, dass wir ein geschäftliches Problem haben, das wir lösen möchten. |
| Und natürlich müssen wir Daten zusammenstellen, und Sie können Daten aus verschiedenen Quellen zusammenstellen und die Daten in ein JMP bringen. |
| Und am Ende müssen wir in der Lage sein, Ergebnisse zu teilen und unsere Erkenntnisse mit anderen zu kommunizieren. Manchmal ist das vielleicht ein einmaliges Projekt, |
| Aber oft haben wir Analysen, die wir wiederholen werden. Eine Kernfrage, die in diesem Vortrag behandelt wird, lautet also: Können Sie Ihre Ergebnisse problemlos reproduzieren? |
| Können andere Ihre Ergebnisse reproduzieren? Oder können Sie, wenn Sie über neue Daten verfügen oder aktualisierte Daten haben, Ihre Analyse und insbesondere die Datenkurationsschritte für diese neuen Daten problemlos wiederholen? Darum geht es in diesem Vortrag. |
| Aber was genau ist Datenkuration? |
| Und warum müssen wir uns darüber Sorgen machen? |
| Nun, bei der Datenkuratierung geht es darum, sicherzustellen, dass unsere Daten für analytische Entdeckungen nützlich sind. Grundsätzlich müssen wir in der Lage sein, die Probleme zu lösen, die wir angehen wollen. |
| Dabei geht es vor allem um Datenorganisation, Datenstruktur und auch Datenbereinigung. |
| Wenn Sie über Probleme nachdenken, die bei Daten auftreten können, lassen sie sich in der Regel in vier allgemeine Kategorien einteilen |
| Möglicherweise haben Sie eine falsche Formatierung, unvollständige Daten, fehlende Daten oder fehlerhafte oder unordentliche Daten. |
| Und um uns dabei zu helfen, über diese Themen zu sprechen, werden wir einige Inhalte von STIPS ausleihen. Und wenn Sie mit STIPS nicht vertraut sind: STIPS ist unser kostenloser Kurs „Statistisches Denken für die Lösung industrieller Probleme“. |
| Und dies ist ein Kurs, der auf sieben unabhängigen Modulen basiert, und das zweite Modul ist die explorative Datenanalyse. |
| Und aufgrund der iterativen und interaktiven Natur der explorativen Datenanalyse und Datenkuratierung heißt die letzte Lektion in diesem Modell ... in diesem Modul „Datenvorbereitung für die Analyse“, daher greifen wir in diesem Vortrag stark auf diese Lektion zurück. |
| Lassen Sie uns jedes dieser Probleme aufschlüsseln. Falsche Formatierung. Was meinen wir mit falscher Formatierung? Dies ist der Fall, wenn Ihre Daten für die Analyse in der falschen Form oder im falschen Format vorliegen. Dies kann für die Datentabelle als Ganzes gelten. So könnte es beispielsweise bei Ihnen der Fall sein |
| heißt ... Daten, die in separaten Spalten gespeichert sind, aber Sie benötigen tatsächlich die Daten, die in einer Spalte gespeichert sind. |
| Oder es könnte sein, dass Sie Ihre Daten in separaten Datentabellen haben und die Datentabellen entweder verketten, aktualisieren oder zusammenführen müssen. |
| Es kann sich auf einzelne Variablen beziehen. So könnte es beispielsweise sein, dass Sie den falschen Modellierungstyp haben. Oder Sie haben möglicherweise Datumsangaben in Ihrer Datentabelle, sodass Sie möglicherweise Datumsspalten haben, die möglicherweise nicht als Tage formatiert sind, sodass die Analyse möglicherweise nicht erkennt, dass es sich um ... handelt. Dies sind Datumsdaten. |
| Die Formatierung kann auch kosmetischer Natur sein. Wenn Sie es beispielsweise mit einer großen Datentabelle zu tun haben, könnten Sie viele Spalten haben ... |
| Möglicherweise haben Sie Namen ... Spaltennamen, die nicht wirklich erkennbar sind und die Sie möglicherweise ändern möchten. |
| Möglicherweise haben Sie viele Spalten, die Sie gruppieren möchten, um die Übersichtlichkeit zu erhöhen. |
| Ihre Antwortspalte befindet sich möglicherweise ganz am Ende der Datentabelle und Sie möchten sie möglicherweise nach oben verschieben. Kosmetische Probleme werden Ihrer Analyse also nicht unbedingt im Weg stehen, aber wenn Sie einige dieser Probleme beheben können, können Sie Ihre Analyse ein wenig einfacher gestalten. |
| Unvollständige Daten liegen vor, wenn Ihnen Daten fehlen. Dies kann ein Mangel an Daten zu wichtigen Variablen sein. So haben Sie beispielsweise möglicherweise keine Daten zu Variablen erfasst, die für die Lösung des Problems von grundlegender Bedeutung sind. Es könnte sich auch um einen Mangel an Daten zu einer Kombination von Variablen handeln. |
| So verfügen Sie beispielsweise möglicherweise nicht über genügend Informationen, um eine Interaktion abzuschätzen. |
| Oder Sie interessieren sich möglicherweise für eine Zielvariable, die unausgeglichen ist, sodass Sie möglicherweise Fehler untersuchen. Möglicherweise sind es nur 5 % Ihrer Beobachtungen |
| sind auf Fehler zurückzuführen und Sie verfügen möglicherweise nicht über genügend Daten, da Sie möglicherweise nur über eine sehr kleine Teilmenge Ihrer Daten verfügen |
| wo der Mangel vorliegt. Möglicherweise verfügen Sie nicht über genügend Daten, um mögliche Fehlerursachen zu verstehen. Möglicherweise ist die Stichprobengröße auch nicht groß genug, sodass Sie einfach nicht über genügend Daten verfügen, um gute Schätzungen zu erhalten. |
| Bei fehlenden Daten handelt es sich um fehlende Werte für Variablen. Dies kann verschiedene Formen annehmen. |
| Wenn Ihnen Daten fehlen und das Fehlen nicht zufällig erfolgt, kann dies ein ernstes Problem verursachen, sodass Ihre Schätzungen möglicherweise verzerrt sind. |
| Wenn Ihnen Daten völlig zufällig fehlen, ist dies möglicherweise kein Problem, wenn Ihnen nur wenige Beobachtungen fehlen. Wenn Ihnen jedoch viele Daten fehlen, kann dies problematisch sein. |
| Von unsauberen und unordentlichen Daten spricht man, wenn Sie Probleme mit Beobachtungen oder Variablen haben. Es kann also sein, dass Sie falsche Werte haben, die Werte sind einfach falsch. |
| Möglicherweise liegt eine Inkonsistenz vor. So kann es beispielsweise zu Tippfehlern oder Tippfehlern kommen, wenn andere Dinge anders eingeben. |
| Die Werte könnten ungenau sein. Beispielsweise könnten Sie Probleme mit Ihrem Messsystem haben. Es kann Fehler geben, es kann Tippfehler geben, die Daten können veraltet sein. |
| Von veralteten Daten spricht man, wenn Sie beispielsweise über Daten zu einer Anlage oder Maschine verfügen, die nicht mehr in Betrieb ist. |
| Die Daten sind möglicherweise veraltet, sodass Ihre Daten möglicherweise über einen Zeitraum von zwei oder drei Jahren zurückreichen, sich der Prozess jedoch irgendwo in diesem Zeitraum geändert hat. |
| Dies bedeutet, dass diese historischen Daten für den aktuellen Prozess in seiner heutigen Form möglicherweise nicht relevant sind. Ihre Daten werden möglicherweise zensiert oder gekürzt. |
| Sie können redundante Spalten haben, also Spalten, die im Wesentlichen dieselben Informationen enthalten. Oder Sie haben möglicherweise doppelte Beobachtungen. |
| Daher können schmutzige oder unordentliche Daten viele verschiedene Formen annehmen. |
| Wie identifizieren Sie potenzielle Probleme? |
| Nun, ein guter Ausgangspunkt ist die Erkundung Ihrer Daten. Tatsächlich führt Sie die Identifizierung von Problemen zur Datenerkundung und anschließenden Analyse. Und wenn Sie mit der Untersuchung Ihrer Daten beginnen, beginnen Sie, Dinge zu identifizieren, die Ihnen bei Ihrer Analyse Probleme bereiten könnten. |
| Ein guter Ausgangspunkt ist also, die Datentabelle nach offensichtlichen Problemen zu durchsuchen. |
| Daher werden wir im weiteren Verlauf dieses Vortrags ein Beispiel mit dem Titel „Komponenten“ verwenden. Dabei handelt es sich um ein Beispiel aus dem STIPS-Kurs |
| Ein Unternehmen produziert kleine Komponenten und hat ein Problem mit der Ausbeute. Die Daten wurden also gesammelt, es gibt 369 Chargen. Es wurden 15 Merkmale erfasst, und wir möchten diese Daten nutzen, um mögliche Ursachen für geringe Erträge zu verstehen. |
| Wenn wir uns also die Datentabelle selbst ansehen, finden wir einige Hinweise darauf, welche Art von Datenqualitätsproblemen wir haben könnten. Und ein wirklich schöner Ausgangspunkt (und dieser wurde in JMP 15 hinzugefügt) |
| Dies sind Kopfdiagramme. Ich liebe Header-Diagramme. Was sie tun, ist, wenn Sie eine kontinuierliche Variable haben, die Ihnen ein Histogramm anzeigt, damit Sie die Zentrierung, die Form und die Streuung der Verteilung sehen können. |
| Sie zeigen Ihnen auch den Bereich der Werte an. Wenn Sie kategoriale Daten haben, wird Ihnen ein Balkendiagramm mit Werten für die bevölkerungsreichsten Balken angezeigt. Werfen wir also einen Blick auf einige davon. Ich beginne mit der Chargennummer. Die Chargennummer zeigt also ein Histogramm und die Form ist tatsächlich einheitlich. |
| Bei Chargennummern handelt es sich wahrscheinlich um eine Kennung. Daher kann ich auf Anhieb erkennen, dass diese Daten wahrscheinlich falsch codiert sind. |
| Ich kann sehen, dass diese Verteilung stark verzerrt ist und dass der niedrigste Wert -6 ist. Dies kann dazu führen, dass ich Fragen zur Machbarkeit einer negativen Ausschussnummer stelle. |
| Der Prozess ist ein anderer. Ich habe im Grunde zwei Balken und mir wird tatsächlich ein Histogramm mit nur zwei Werten angezeigt. |
| Und während ich mir diese Säulendiagramme und Kopfzeilendiagramme ansehe, kann ich mir das Spaltenfeld ansehen. |
| und es ist ziemlich einfach zu erkennen, dass beispielsweise Chargennummer, Teilenummer und Prozess alle fortlaufend codiert sind. Wenn Sie Daten in JMP importieren und JMP Zahlen erkennt, werden diese Spalten automatisch als numerisch fortlaufend codiert. Das sind also Dinge, die wir vielleicht ändern möchten. |
| Wir können uns auch die Daten selbst ansehen. Wenn ich mir zum Beispiel die Luftfeuchtigkeit ansehe (und der Kontext ist wirklich wichtig, wenn man sich die Daten ansieht), würden wir uns die Luftfeuchtigkeit als kontinuierliche Daten vorstellen. |
| Aber ich habe hier ein paar Felder, in denen ich N/A habe. |
| Wenn Sie alphanumerische Daten oder Textdaten in einer numerischen Spalte haben, wird die Spalte als nominal codiert, wenn Sie die Daten in JMP ziehen. Das ist also etwas, von dem wir sofort sehen, dass wir es beheben müssen. |
| Und ich kann auch die anderen Spalten durchsehen. So sehe ich beispielsweise bei „Lieferant“, dass mir einige Werte fehlen. Wenn Sie Daten in JMP abrufen, falls vorhanden |
| Wenn wir leere Zellen für kategoriale Daten haben, wissen wir, dass uns Werte fehlen. Ich kann sehen, dass es einige Einträge gibt, bei denen wir nicht konsistent sind ... nicht konsistent in der Art und Weise, wie die Daten eingegeben wurden. |
| Ich bekomme also einige ernsthafte Hinweise auf mögliche Probleme mit meinen Daten. |
| Beachten Sie alle Punkte. Die Temperatur ist eine kontinuierliche Variable und wenn ich Punkte sehe, bedeutet das, dass mir Werte fehlen. Die Temperatur ist also etwas, das für meine Analyse wirklich wichtig ist, das könnte problematisch sein. |
| Eine natürliche Erweiterung davon besteht darin, mit der Untersuchung der Daten zu beginnen, jeweils eine Variable nach der anderen. Eines meiner Lieblingstools, wenn ich zum ersten Mal mit der Betrachtung von Daten beginnen möchte, ist der Spalten-Viewer. Und der Spalten-Viewer liefert uns numerische Zusammenfassungen für die von uns ausgewählten Variablen. |
| Wenn uns Werte fehlen, wird es eine Spalte „N Missing“ geben. Und hier sehe ich, dass mir 265 der 369 Werte für die Temperatur fehlen. Das ist also eine ernsthafte Lücke, wenn wir glauben, dass die Temperatur bei der Analyse wichtig sein wird. |
| Ich kann auch sehen, ob ich seltsame Werte habe. Wenn ich mir also Dinge wie Min- und Max-Werte für die Anzahl der Verschrottungen und die Ausschussrate ansehe, erhalte ich negative Werte. Und wenn das nicht möglich ist, dann habe ich ein Problem mit den Daten oder dem Datenerfassungssystem. |
| Es ist auch ziemlich einfach, eine Fehlcodierung von Variablen zu erkennen. So gaben beispielsweise die Anlage und die Chargennummer, die wahrscheinlich als nominal codiert werden sollten, einen Mittelwert und die Standardabweichung an. |
| Und eine gute Möglichkeit, darüber nachzudenken, ist: Wenn es physikalisch nicht möglich ist, eine durchschnittliche Chargennummer oder (Teilenummer war die andere Variable) oder Teilenummer zu haben, dann sollten diese in nominale Variablen statt in kontinuierliche geändert werden. |
| Distributionen ist der nächste Ort, an den ich gehe, wenn ich mich zum ersten Mal mit meinen Daten vertraut mache. |
| Wenn Sie über kontinuierliche Daten verfügen, ermöglichen Ihnen Verteilungen, die Form, Zentrierung und Verteilung Ihrer Daten zu verstehen, aber Sie können auch erkennen, ob ungewöhnliche Werte vorliegen. |
| Bei kategorialen Daten können Sie auch sehen, wie viele Ebenen Sie haben. Also zum Beispiel Kundennummer. Wenn die Kundennummer eine wichtige Variable oder potenziell wichtig ist, |
| Ich habe viele Ebenen oder Werte für die Kundennummer. Wenn ich die Daten vorbereite, möchte ich diese möglicherweise in vier oder fünf Buckets mit einer anderen Kategorie für diejenigen Kunden kombinieren, für die ich nicht wirklich viele Daten habe. |
| Feuchtigkeit. Wir sehen das Problem darin, dass N/A in der Spalte steht. Wir sehen ein Balkendiagramm anstelle eines Histogramms. |
| In den Lieferantendaten können wir leicht erkennen, was wir uns angesehen haben. Beispielsweise wird Cox Inc und Cox, Anderson auf drei verschiedene Arten geschrieben, Hersh wird auf drei verschiedene Arten geschrieben. |
| Beachten Sie für die Geschwindigkeit, dass wir eine gewölbte Verteilung haben, die von etwa 60 bis 140 reicht, aber ganz unten sehen wir, dass es ein oder zwei Werte gibt |
| Das liegt ziemlich nahe bei Null, und das könnte sein ... es könnte ein Dateneingabefehler gewesen sein, aber es ist definitiv etwas, das wir untersuchen möchten. |
| Eine Erweiterung davon besteht darin, mit der Betrachtung Ihrer Daten jeweils zwei Variablen zu beginnen. Also zum Beispiel mit Graph Builder oder Streudiagrammen. |
| Und wenn Sie zwei Variablen gleichzeitig betrachten, können Sie Muster erkennen und ungewöhnliche Muster, die sich über mehr als eine Variable erstrecken, leichter erkennen. |
| Wenn ich mir zum Beispiel die Ausschussrate und die Anzahl der verschrotteten Produkte ansehe, sehe ich, dass ich einige Bänder habe. Und es könnte sein, dass Ihre Datentabelle etwas enthält, das dieses Muster erklären kann. |
| Und in diesem Fall ist die Streifenbildung auf unterschiedliche Chargengrößen zurückzuführen, sodass ich bei diesem violetten Band eine Chargengröße von 5.000 habe. |
| Und ich habe bei einer größeren Losgröße viel mehr Möglichkeiten für Ausschuss als bei einer kleineren Losgröße. Das macht vielleicht Sinn, aber ich sehe auch etwas, das keinen Sinn ergibt. Diese beiden Werte liegen hier im negativen Bereich. |
| Daher ist es ziemlich einfach, diese zu erkennen, wenn ich Daten in zwei Dimensionen betrachte. |
| Ich kann meinen Diagrammen zusätzliche Dimensionalität hinzufügen, indem ich Spaltenumschalter und Datenfilter verwende. |
| Dies führt mich auch zu einer Potenzialanalyse, daher könnte es mich interessieren, welche x-Werte wichtig sein könnten und mit der Ausschussrate zusammenhängen könnten. |
| Berücksichtigen Sie gleichzeitig Datenqualitätsprobleme oder potenzielle Probleme. Was die Ausschussrate betrifft, scheint also ein positiver Zusammenhang zwischen Druck und Ausschussrate zu bestehen. |
| Es sieht nicht so aus, als gäbe es eine allzu große Beziehung. Die Ausschussrate im Vergleich zur Temperatur ist ziemlich flach, daher passiert hier nicht viel. |
| Aber achten Sie auf die Geschwindigkeit. Es besteht ein negativer Zusammenhang, aber ganz oben sehe ich diese beiden Werte; Der einzige Wert, den ich im Histogramm gesehen habe, aber es gibt einen zweiten Wert, der hervorzustechen scheint. |
| Es könnte also sein, dass dieser Wert um die 60 einfach ein Ausreißer ist, aber es könnte sich um einen gültigen Punkt handeln. Ich würde mich wahrscheinlich fragen, ob dieser Punkt hier unten nahe 0 gültig ist oder nicht. |
| Also haben wir uns die Datentabelle angesehen. Wir haben uns die Daten jeweils variabel betrachtet. Wir haben uns die Daten jeweils mit zwei Variablen angesehen, und all dies passt genau zur Datenexploration und führt uns zur Analyse. |
| Es gibt fortgeschrittenere Tools, die wir verwenden könnten (z. B. Ausreißer untersuchen, Fehlende untersuchen), die den Rahmen dieses Kurses oder dieses Vortrags sprengen würden. |
| Und wenn Sie mit der Analyse Ihrer Daten beginnen, werden Sie wahrscheinlich weitere Probleme erkennen. Wenn Sie beispielsweise viele Kategorien kategorialer Variablen haben |
| und Sie versuchen, eine Interaktion in ein Regressionsmodell einzupassen, wissen Sie, dass JMP Sie warnt, dass Sie dies nicht wirklich tun können. Wenn Sie also mit der Datenanalyse beginnen, ist der gesamte Prozess iterativ und Sie werden während des gesamten Prozesses potenzielle Probleme identifizieren. |
| Ein wichtiger Punkt ist, dass Sie sich die Probleme notieren möchten, auf die Sie beim Betrachten Ihrer Daten stoßen. Und einige davon können es sein |
| Sie können Ihre Daten im Laufe der Zeit korrigieren, so dass Sie Werte ausblenden und ausschließen können, Sie können sie umgestalten, Sie können Ihre Daten im Laufe der Zeit neu bereinigen, aber vielleicht entscheiden Sie, dass Sie neue Daten sammeln müssen. Möglicherweise möchten Sie eine DOE durchführen, um mehr Vertrauen in die Daten selbst zu haben. |
| Wenn Sie wissen, dass Sie diese Analyse wiederholen werden oder dass jemand anderes diese Analyse wiederholen möchte, |
| Dann sollten Sie sicherstellen, dass Sie die von Ihnen unternommenen Schritte erfassen, damit eine Reproduzierbarkeit gewährleistet ist. Jemand anderes kann Ihre Ergebnisse reproduzieren, oder Sie können Ihre Analyse später wiederholen. Hier übergebe ich es also an Jordan, und Jordan wird es tun |
| Sprechen Sie über reproduzierbare Datenkuration. |
| Jordan Hiller | Okay, danke, Mia. |
| Hallo, ich bin Jordan Hiller. Ich bin Systemingenieur bei JMP. Lassen Sie uns ein wenig näher darauf eingehen und etwas mehr über die Reproduzierbarkeit sprechen |
| für Ihre Datenkuration. |
| Mia hat diese Idee sehr gut eingeführt, aber lassen Sie uns noch ein paar Details nennen. Die Idee hier ist, dass wir in der Lage sein wollen, problemlos erneut aufzutreten |
| Alle unsere Kurationsschritte, mit denen wir unsere Daten für die Analyse vorbereiten, und ich sehe darin drei Hauptvorteile. Der erste ist Effizienz. Wenn sich Ihre Daten ändern und Sie diese Kurationsschritte in Zukunft für neue Daten wiederholen müssen, |
| Es ist viel effizienter, es einmal mit einem Ein-Klick-Skript auszuführen, als alle Ihre Point-and-Click-Aktivitäten noch einmal durchzugehen. Genauigkeit ist der zweite Vorteil. Point-and-Click kann fehleranfällig sein und durch die Erstellung eines Skripts stellen Sie eine genaue Wiedergabe sicher. |
| Und schließlich ist die Dokumentation, und diese wird vielleicht unterschätzt. Wenn Sie über ein Skript verfügen, dokumentiert es die Schritte, die Sie ausführen |
| nahm. Es handelt sich um eine Spur von Brotkrumen, die Sie später noch einmal durchgehen können, wenn Sie unweigerlich dieses Projekt noch einmal durchgehen müssen und sich daran erinnern: Was habe ich getan, um diese Daten vorzubereiten? |
| Dieses Skript zu haben ist eine große Hilfe. Deshalb werden wir heute eine Fallstudie durchgehen. Ich zeige Ihnen, wie Sie eines dieser reproduzierbaren Datenkurationsskripte erstellen |
| nur durch Zeigen und Klicken. Und die ermöglichende Technologie ist etwas Neues in JMP 16. Es handelt sich um das erweiterte Protokoll und die Aktionsaufzeichnung, die sich im erweiterten Protokoll befindet. |
| Hier ist also, was wir tun werden: Wir werden unsere Datenkuratierungsaktivitäten wie gewohnt per Point-and-Click durchführen. Während wir dies tun, |
| Das Skript, das wir benötigen, der Computercode (er heißt JSL-Code, JSL für JMP-Skriptsprache) wird automatisch für uns erfasst |
| im neuen erweiterten Protokoll. Und wenn wir mit unserer Point-and-Click-Kuration fertig sind, müssen wir uns nur noch den Code schnappen und ihn speichern. Wir möchten vielleicht ein paar Optimierungen und Modifikationen vornehmen, um es ein wenig stärker zu machen, aber dieser Teil ist optional. |
| Okay, das ist also ein Spickzettel, den Sie verwenden können. Dies sind einige der häufigsten Datenbereinigungsaktivitäten |
| und wie man sie in JMP 16 so ausführt, dass eine Spur von Brotkrümeln entsteht, so dass das JSL-Skript im erweiterten Protokoll verbleibt. Es umfasst also Dinge wie das Bearbeiten von Zeilen, das Bearbeiten von Spalten usw. |
| Möglichkeiten zum Ändern der Datentabelle, alle unsere Datenbereinigungsvorgänge und wie dies per Point-and-Click durchgeführt wird. |
| Es handelt sich also nicht um eine erschöpfende Liste aller Dinge, die Sie möglicherweise für die Datenbereinigung tun müssen, und es ist auch keine erschöpfende Liste aller Dinge, die im erweiterten Protokoll erfasst werden, aber das ist das Wichtigste, was Sie hier zur Hand haben. |
| Also gut, gehen wir also mit der von Mia eingeführten Komponentendatei in unsere Fallstudie ein und erstellen wir unser Datenkurationsskript in JMP 16 mithilfe des erweiterten Protokolls. |
| Hier sind wir in JMP 16. Ich möchte anmerken, dass dies die letzte Version des Early-Adopter-Programms für JMP 16 ist, also eine Vorabversion. Ich bin mir jedoch sicher, dass dies der tatsächlichen Release-Version von JMP 16 sehr, sehr ähnlich sein wird. |
| Um also zum Protokoll zu gelangen, |
| Ich zeige es dir hier. Dies sieht anders aus, wenn Sie das Protokoll von früheren JMP-Versionen gewohnt sind. Es ist in diese beiden Bereiche unterteilt: |
| Okay, oben ein Nachrichtenfeld und unten ein Codefeld. Wir werden hier einige Zeit verbringen. Ich zeige Ihnen, wie das aussieht, aber lassen Sie uns nur eine kurze Vorschau geben, wenn ich einige schnelle Aktivitäten ausführen würde, wie das Importieren einer Datei und möglicherweise das Löschen dieser Spalte. |
| Sie können sehen, dass die beiden Schritte, die ich durchgeführt habe (Datenimport und Löschen der Spalte), hier in diesem Meldungsfeld aufgelistet sind |
| und der Code, der JSL-Code, den wir für ein reproduzierbares Datenkurationsskript benötigen, befindet sich hier unten in diesem unteren Bereich. Okay, also |
| Dass es wirklich sehr spannend ist, ist die Möglichkeit, diesen Code einfach zu haben und ihn jederzeit durch einfaches Zeigen und Klicken abzurufen, ein enormer Vorteil in JMP 16. |
| In JMP 16 ist diese neue erweiterte Protokollansicht standardmäßig aktiviert. Wenn Sie zur alten Version des Protokolls, diesem einfachen Textprotokoll, zurückkehren möchten, können Sie dies hier im Abschnitt „JMP-Einstellungen“ tun. Es gibt ein neues |
| Abschnitt für das Protokoll und Sie können bei Bedarf zur alten Textansicht des Protokolls zurückwechseln. Die Standardeinstellung bei der Installation von JMP 16 ist das erweiterte Protokoll. Auf einige dieser anderen Funktionen werden wir etwas später in unserer Fallstudie eingehen. |
| Okay, also werde ich mich aus dem Staub machen |
| das Protokoll vorerst aus dem roten Dreieck. Löschen Sie das Protokoll und beginnen wir mit unserer Fallstudie. Importieren wir die Komponentendaten, die Mia mit Ihnen geteilt hat. Wir beginnen mit dieser CSV-Datei. |
| Also |
| Ich werde die einfachste Art des Imports durchführen, indem ich ihn einfach hineinziehe. Oh, ich hatte eine ... Ich hatte bereits eine Version davon geöffnet. Es tut mir leid, lassen Sie mich damit beginnen, die alte Version zu schließen |
| und löschen Sie das Protokoll noch einmal. |
| Okay, einfacher Import |
| indem Sie es in das JMP-Fenster ziehen. Und jetzt haben wir diese Datei, Komponenten A, mit 369 Stapeln, und jetzt können wir mit unseren Datenbereinigungsaktivitäten fortfahren. Ich werde einschalten |
| die Kopfdiagramme. Und das erste, was wir sehen können, ist, dass die Spalte „Einrichtung“ nur einen Eintrag und einen Wert enthält, FabTech, also gibt es hier keine Variation, nichts Interessantes. Ich werde es einfach mit einem Rechtsklick löschen und die Spalte löschen. |
| Und auch das wird im erweiterten Protokoll erfasst. |
| Okay, was sonst? Stellen wir uns vor, dass diese Spalte zur Ausschussrate am Ende der Tabelle für uns wirklich wichtig ist und ich gerne eine frühere Spalte in der Tabelle sehen würde. Ich werde es auf die vierte Position verschieben |
| indem Sie es im Spaltenbereich anfassen und direkt nach der Kundennummer ziehen. Na, bitte. |
| Mia erwähnte, dass diese Feuchtigkeitsspalte beim Import falsch dargestellt wird, hauptsächlich aufgrund dieser N/A |
| Alphabetzeichen, die dazu führen, dass es als Zeichenvariable eingegeben wird. Also lasst uns das beheben. Mit einem Rechtsklick gelangen wir hier in die Spalte Info |
| und ändern Sie den Datentyp von zeichenhaft in numerisch, ändern Sie den Modellierungstyp von nominal in kontinuierlich. OK klicken. Und klicken wir einfach hier auf das Protokoll, und Sie können sehen, dass jetzt vier Schritte erfasst wurden und wir weitermachen. |
| Okay, was kommt als nächstes? Wir haben mehrere Variablen, die von kontinuierlich auf nominal geändert werden müssen. Dies sind Chargennummer, Teilenummer und Prozess. Wenn ich also drei davon ausgewählt habe, klicke ich mit der rechten Maustaste und wechsle von kontinuierlich auf nominal. |
| Und diese wurden alle korrigiert. |
| Und wieder können wir sehen, dass diese drei Schritte hier im Protokoll aufgezeichnet werden. |
| Alles klar, was sonst? Etwas anderes, etwas kosmetisches, diese Kolumne, Druck. Meine Ingenieure sehen diesen Spaltennamen gerne als PSI, also ändern wir ihn einfach, indem wir diese Spalte auswählen und PSI eingeben. Verlassen Sie es dort, um woanders hinzugehen. Das wird auch im Protokoll festgehalten. |
| Der Zulieferer. Mia hat uns gezeigt, dass es einige, wissen Sie, inkonsistente Schreibweisen gibt. Wahrscheinlich sind hier zu viele Werte drin. Wir müssen die Zeichenwerte korrigieren. Wenn Sie falsche, inkonsistente Zeichenwerte in einer Spalte haben, denken Sie an das Recode-Tool. |
| Das Recode-Tool ist eine wirklich effiziente Möglichkeit, dieses Problem zu lösen. Wenn Sie also mit der rechten Maustaste auf „Lieferant“ klicken, gehen wir zur Neucodierung. |
| Und lasst uns diese entsprechend gruppieren. Ich werde mit einigen Optionen für rote Dreiecke beginnen. Lassen Sie uns alle Werte in die Groß- und Kleinschreibung umwandeln. |
| Lassen Sie uns auch diesen Leerraum kürzen, damit inkonsistente Abstände korrigiert werden. Das hat bereits einige Probleme behoben. Lassen Sie uns alles andere manuell korrigieren. Ich werde die Andersons zusammenfassen. Ich werde die Coxes zusammenfassen. |
| Gruppieren Sie die Hershes. Trutna und Worley liegen mit einer einzigen Kategorie bereits richtig. Und die letzte Korrektur, die ich vornehmen werde, betrifft Dinge, die einfach als leer oder fehlend aufgeführt sind. Ich gebe ihnen eine explizite Kennzeichnung |
| Hier fehlt das Etikett. |
| Alles klar, und wenn wir auf „Neu kodieren“ klicken, |
| Wir haben diese Korrekturen in einer neuen Spalte mit dem Namen „Lieferant 2“ zusammengefasst. |
| Es wurden lediglich 1, 2, 3, 4, 5, 6 Kategorien korrigiert und reduziert. |
| Gut. |
| Okay, lass uns eine Berechnung durchführen. Hier berechnen wir die Ausbeute anhand der Chargengröße und der Ausschussmenge. |
| Rechts. Und ja, mir ist klar, dass das ein wenig überflüssig ist. Wir haben bereits eine Ausschussrate und eine Ausbeute von nur eins minus der Ausschussrate, aber nur der Argumentation halber: Wir werden es schaffen |
| die Berechnung. Ich möchte also, dass diese Ertragsspalte direkt nach der gestrichenen Zahl eingefügt wird. Deshalb markiere ich die gestrichene Zahl und gehe dann zum Spaltenmenü und wähle „Neue Spalte“ aus. |
| Wir werden dieses Ding Ertrag nennen. |
| Und wir werden unsere neue Spalte nach der ausgewählten Spalte einfügen, nachdem die Zahl gestrichen wurde, und ihr eine Formel zur Berechnung des Ertrags geben. |
| Wir brauchen die Anzahl der guten Einheiten. Das ergibt sich aus der Losgröße minus der Anzahl der Ausschussteile. |
| Das ist also die Anzahl der guten Einheiten und wir werden das Ganze durch dividieren |
| die Losgröße. |
| Anzahl guter Einheiten geteilt durch Losgröße, das ist unsere Ertragsberechnung. |
| Und klicken Sie auf OK. |
| Da ist unser Neues |
| Ertragsspalte. Wir können sehen, dass es sich um eine Ausschussrate von eins minus handelt. Das ist ... das ist gut, und ignorieren wir vorerst die Tatsache, dass wir einige Renditen haben, die über 100 % liegen. |
| Okay, wir sind fast fertig. Nur noch ein paar Änderungen. Mir ist aufgefallen, dass wir zwei Prozesse haben, die derzeit nur als Prozess 1 und Prozess 2 bezeichnet sind. |
| Das ist nicht sehr beschreibend, nicht sehr hilfreich. Geben wir ihnen aussagekräftigere Bezeichnungen. Prozess 1 nennen wir Produktionsprozess; und Prozess 2 nennen wir experimentell. Wir werden dies also mit Wertbeschriftungen tun, anstatt sie neu zu kodieren. Ich werde auf die Spalteninformationen eingehen |
| und wir werden eins und zwei Wertbezeichnungen zuweisen. |
| Einer in dieser Spalte wird die Produktion darstellen. |
| Fügen Sie das hinzu. |
| Und zwei steht für experimentell. |
| Fügen Sie das hinzu. |
| OK klicken. Gut. In den Kopfdiagrammen werden eins und zwei angezeigt, in der Datentabelle jedoch Produktion und Experiment. |
| Alles klar, ein letzter Schritt, bevor wir unser Skript speichern. Nehmen wir der Argumentation halber an, dass ich nur an den Daten interessiert bin ... Ich möchte mit der Analyse nur fortfahren, wenn das Vakuum ausgeschaltet ist. |
| Richtig, also werde ich die Daten unterteilen und eine neue Datentabelle erstellen, die nur die Zeilen enthält, in denen die Vakuumfunktion ausgeschaltet ist. Ich mache das, indem ich mit der rechten Maustaste auf eine dieser Zellen klicke, in denen das Vakuum ausgeschaltet ist |
| und Auswahl passender Zellen. |
| Dadurch werden die 313 Zeilen ausgewählt, in denen das Vakuum ausgeschaltet ist. Und jetzt gehen wir zur Tabellenteilmenge über, |
| Erstellen Sie eine neue Datentabelle, die wir vac_off nennen. |
| Klicken Sie auf „OK“. |
| Alles klar, und das ist unsere neue Datentabelle mit 313 Zeilen, die nur Daten zeigt, bei denen das Vakuum ausgeschaltet ist. |
| Das ist also das Ende. Wir haben die gesamte Datenkuratierung durchgeführt und gehen nun noch einmal zurück, schauen uns das Protokoll noch einmal an und erfahren etwas mehr über das, was wir haben. |
| Okay, alle diese Schritte und einige weitere, die ich nicht ausführen wollte, wurden hier im Protokoll erfasst. |
| Schauen Sie hier, wir haben ... jede Zeile ist einer der Schritte, die wir ausführen. |
| Es gibt auch ein paar überflüssige Dinge, wie zum Beispiel, dass ich an einer Stelle die Zeilenauswahl gelöscht habe. Das war nicht wirklich nötig... Ich muss das nicht wirklich zu einem Teil meines Drehbuchs machen. |
| Die ausgewählten Zeilen werden gelöscht, also entfernen wir sie. Ich klicke einfach mit der rechten Maustaste darauf und lösche das Element, um es zu entfernen. Das ist gut. |
| Okay, also Nachrichten hier oben, JSL-Code hier unten. Ich möchte Sie auf den Ursprung und das Ergebnis aufmerksam machen. Das ist ziemlich raffiniert. |
| Wann immer wir einen Schritt ausführen, wann immer wir eine Aktion per Point-and-Click ausführen, gibt es etwas, an dem wir diese Aktion ausführen, und es gibt etwas, das daraus resultiert. Das ist also der Ursprung und das Ergebnis. Als wir zum Beispiel die Spalte „Einrichtungen“ gelöscht haben ... |
| Nun ja, vielleicht ist das ein schlechtes Beispiel. Ändern wir stattdessen die Spalteninformationen für die Luftfeuchtigkeit. Der Ursprung, das Ding, an dem wir es gemacht haben |
| war die Tabelle „Komponenten A“, und wir sehen sie hier als Datentabelle aufgeführt. Wenn ich mit der Maus darüber fahre, wird „Komponenten A nach vorne bringen“ angezeigt. Wenn ich also darauf klicke, gelangen wir zur Tabelle „Komponenten A“. Sehr schön. |
| Und das Ergebnis ist etwas, das wir mit der Feuchtigkeitssäule gemacht haben. Wir haben die Luftfeuchtigkeit geändert. Wir haben es in den Datentyp „Numerisch“ und den Modellierungstyp „Kontinuierlich“ geändert. Sehen Sie das hier unten. |
| Ich kann also hier klicken, zur Feuchtigkeitsspalte gehen, und sie... wird hervorgehoben und für uns ausgewählt. JMP wählt für uns die Luftfeuchtigkeitssäule aus. |
| Grün für überall, außer diesem letzten Ergebnis in Blau. Das soll uns helfen, den Überblick über unsere Aktivitäten in verschiedenen Datentabellen zu behalten. Wir haben alle diese Aktivitäten an der Datentabelle „Komponenten A“ durchgeführt |
| Bei unserer letzten Aktivität führten wir eine Teilmenge der Datentabelle „Komponenten A“ durch. Das Ergebnis war eine neue Datentabelle namens vac_off. Und so ist vac_off in Blau. Richtig, also können wir diese Farben verwenden, um Ihnen dabei zu helfen, den Überblick zu behalten. |
| Okay, das letzte Feature, das ich Ihnen hier im Protokoll zeigen möchte, ist...das ist |
| Hilfreich ist es, wenn Sie eine sehr lange Reihe von Schritten haben und nur einen finden müssen. Mit diesem Filterfeld können Sie die Schritte finden. Nehmen wir an, ich möchte die Teilmenge finden. Da ist es. Wir haben die Teilmengendatentabelle gefunden und ich kann direkt zu dem Code gelangen, den ich benötige. |
| Okay, das ist also alles, was wir brauchen. Unsere Datenkurationsschritte wurden erfasst. Um ein reproduzierbares Datenkurationsskript zu erstellen, müssen wir lediglich zum roten Dreieck gehen und das Skript in einem neuen Skriptfenster speichern. |
| der Schritt „Importieren“, der Schritt „Spalte löschen“ und der Schritt „Verschieben der Ausschussrate“. Alle diese Schritte sind hier im Skript enthalten. |
| Wir haben die Syntaxfärbung, die uns beim Lesen des Skripts hilft. Wir haben all diese hilfreichen Kommentare, die uns genau sagen, was wir in jedem dieser Schritte getan haben. |
| Richtig, das ist also alles. Das ist alles, was wir brauchen, und ich werde das speichern. Ich speichere es auf meinem Desktop als „Import and Clean“ … nennen wir es „Import and Curate Components“. |
| Richtig, das ist unser reproduzierbares Datenkurationsskript. Wenn ich also zum JMP-Startfenster zurückkehren und alles außer unserem neuen Skript schließen würde, |
| Folgendes tun wir, wenn ich diese Datenkurationsschritte wiederholen muss. Ich habe gerade die Skriptdatei geöffnet und wir können sie ausführen, indem wir auf die Schaltfläche „Skript ausführen“ klicken. Öffnet die Daten, führt die gesamte Bereinigung durch, führt die Teilmenge durch und erstellt die neue Datendatei mit 313 Zeilen. |
| Stellen wir uns nun vor, dass wir dies anhand neuer Daten wiederholen müssen. |
| Ich habe eine andere Version der Components-Datei. Es heißt Komponenten B. Es enthält 50 weitere Zeilen, also statt 369 Zeilen 419 Zeilen. Stellen Sie sich vor, wir haben den Prozess für weitere 50 Chargen ausgeführt und haben mehr Daten. |
| Es heißt also Komponenten B und ich möchte dieses Skript für Komponenten B ausführen. Sie werden jedoch feststellen, dass im gesamten Skript Komponenten A mehrmals aufgerufen werden. Wir müssen also nur Komponente A suchen und ersetzen und sie in Komponente B ändern. Los geht's. Bearbeiten. |
| Suchen. |
| Wir finden Komponenten A, ersetzen sie durch Komponenten B. Ersetzen Sie alle. 15 Vorkommen wurden ersetzt. |
| Sie können es hier und hier sehen. |
| Und jetzt führen wir das Skript einfach noch einmal aus und schon haben wir die neue Version der Daten. Sie können sehen, dass es mehr Zeilen hat, tatsächlich war es ausgeschaltet. Früher waren es 313, jetzt sind es 358. |
| Okay, also ein reproduzierbares Datenkurationsskript, das mit neuen Daten ausgeführt werden kann. |
| Okay, hier ist noch einmal dieser Spickzettel. Dies wird in den Materialien enthalten sein, die wir mit dem Vortrag speichern, sodass Sie darauf zugreifen und es finden können. Und hier erfahren Sie, wie Sie sich mit Maus und Maus durch die Datenkuration bewegen und ein schönes, wiederholbares und reproduzierbares Datenkurationsskript erstellen. |
| Für das von uns erstellte Skript mussten wir überhaupt nichts programmieren, aber ich gebe Ihnen nur eine Handvoll Tipps, vier Tipps, die Sie verwenden können |
| um die Skripte ein wenig zu verbessern. Der erste Tipp besteht darin, diese Zeile am Anfang Ihrer Skripte einzufügen. Es ist eine gute Sache, dies für Ihr gesamtes Skripting zu tun. Fügen Sie hier einfach die Standardzeilennamen ein. |
| Dadurch soll verhindert werden, dass Ihr Skript mit anderen Skripten interagiert. Es wird als Namespace-Kollision bezeichnet und Sie müssen nicht wirklich verstehen, was es bewirkt, sondern es einfach tun. Das ist eine gute Sache. Es ist eine gute Programmierpraxis. |
| Der zweite Tipp besteht darin, sicherzustellen, dass zwischen JSL-Ausdrücken Semikolons stehen. |
| Das erweiterte Protokoll erledigt dies automatisch für Sie. Zwischen jedem Schritt wird das erforderliche Semikolon eingefügt. Wenn Sie jedoch selbst Änderungen vornehmen, sollten Sie sicherstellen, dass diese Semikolons richtig platziert sind. Also nur ein Wort an die Weisen. |
| Füge Kommentare hinzu. |
| Kommentare sind eine Möglichkeit für Sie, Notizen im Programm zu hinterlassen, und zwar so, dass Sie das Programm nicht durcheinander bringen, richtig. Es ist ein Weg dazu |
| Lassen Sie etwas im Programm, das vom JSL-Interpreter nicht interpretiert wird. Und es gibt Notizen, die das erweiterte Protokoll für Sie hinterlassen hat ... die Aktionsaufzeichnung im erweiterten Protokoll ist für Sie übrig geblieben, aber Sie können sie ändern und bei Bedarf ergänzen. Hier also die wichtigsten Punkte zu Kommentaren. |
| Das typische Format besteht aus zwei Schrägstrichen und alles, was auf die Schrägstriche folgt, ist ein Kommentar. Sie können das also am Anfang einer Zeile oder auch am Ende der Zeile tun. Der Interpreter führt also diesen X = 9 JSL-Ausdruck aus, ignoriert dann aber alles nach den Schrägstrichen. |
| Wenn Sie einen längeren Kommentar haben, können Sie auch dieses Format verwenden, das aus einem /* am Anfang und einem */ am Ende besteht. Das schließt einen Kommentar ein. Kommentare sind also nützlich, um Notizen für sich selbst zu hinterlassen, sie sind aber auch nützlich, um Ihr JSL-Skript zu debuggen. |
| Wenn Sie eine Codezeile entfernen und verhindern möchten, dass sie ausgeführt wird, können Sie ihr einfach diese beiden Schrägstriche voranstellen. Wenn Sie dies für einen größeren Codeblock tun möchten, können Sie dieses Format verwenden. Es ist also gut zu wissen, wie man Kommentare verwendet. |
| Der letzte Tipp, den ich Ihnen geben möchte, ist die Verallgemeinerung von Datentabellenverweisen. Erinnern Sie sich, wie wir suchen und ersetzen mussten, damit dieses Skript unter einem neuen Dateinamen, Komponenten B, ausgeführt wird? |
| Wir mussten 15 Instanzen in der Datentabelle und im Skript ändern. Wäre es nicht schön, wenn wir es nur auf einmal ändern müssten, statt 15 Mal? So können Sie Ihre Skripte robuster gestalten |
| durch Verallgemeinerung der Datentabellenreferenzen. Anstatt die Namen zu verwenden, verwenden wir eine JSL-Variable, um diese Tabellennamen zu speichern. Hier ist, wovon ich spreche. Ich zeige Ihnen ein Beispiel. |
| Auf der linken Seite befindet sich Code, der durch die Aktionsaufzeichnung im erweiterten Protokoll generiert wurde. |
| Wir öffnen die Datentabelle „Big Class“. Wir bearbeiten die Altersspalte, ändern sie in einen kontinuierlichen Modellierungstyp und erstellen dann eine neue berechnete Spalte. |
| Beim Öffnen verwenden wir es, um die Änderung an der Altersspalte vorzunehmen, und wir verwenden es hier. |
| Ganz einfach, was Sie tun müssen, um dies robuster und allgemeiner zu gestalten. |
| Sie müssen drei Änderungen vornehmen. |
| Bei dieser ersten Änderung hier vergeben wir einen Namen. Ich habe mich für BC entschieden; Sie können wählen, was Sie wollen. Sie werden DT oft sehen. |
| BC ist also der Name, mit dem wir uns im Rest des Skripts auf diese Big-Class-Datentabelle beziehen. Und wenn wir das Zeitalter ändern wollen |
| Alter bedeutet BC-Datentabelle und die Altersspalte in dieser Datentabelle. |
| Hier unten senden wir eine Nachricht an die Datentabelle „Big Class“, und das bedeutet die Doppelpfeilsyntax. Wir verallgemeinern das einfach, wir verallgemeinern es so, dass wir den neuen Namen verwenden, um diese Nachricht zu senden |
| zur Datentabelle. Und wenn wir dieses Skript nun für eine neue Datentabelle ausführen müssen, die einen anderen Namen als „Big Class“ hat, ist hier die einzige Änderung, die wir vornehmen müssen. Wir müssen nur eine Stelle im Skript ändern. Wir müssen nicht suchen und ersetzen. |
| Okay, wenn Sie nach diesen vier Tipps bereit sind, Ihr Kurationsskript auf die nächste Stufe zu bringen, finden Sie hier einige nächste Schritte. Sie könnten eine Dateiauswahl hinzufügen. Es ist nicht viel Codierung erforderlich |
| um es so zu ändern, dass jemand, der dieses Skript ausführt, einfach zu der Datei navigieren kann, auf der es ausgeführt werden soll, anstatt das Skript manuell bearbeiten zu müssen. |
| Das ist also eine nette Idee. Wenn Sie das Skript an andere Benutzer in Ihrer Organisation verteilen möchten, können Sie es in ein JMP-Add-In einbinden. Auf diese Weise können Benutzer das Skript ausführen, indem sie es einfach aus einem Menü in JMP auswählen. |
| Wirklich praktisch. Und schließlich: Wenn Sie dieses Kurationsskript nach einem Zeitplan ausführen müssen, um eine Master-JMP-Datentabelle zu aktualisieren, die Sie irgendwo im Netzwerk aufbewahren, können Sie dazu den Taskplaner in Windows oder den Automator in Mac OS verwenden das nach einem Zeitplan. |
| Zusammenfassend sprach Mia darüber, wie Sie Ihre Daten kuratieren können, indem Sie die Daten untersuchen und iterieren, um Probleme zu identifizieren. |
| Wenn Sie diese Schritte automatisieren, profitieren Sie von den Vorteilen der Reproduzierbarkeit, nämlich Effizienz, Genauigkeit und Dokumentation Ihrer Arbeit. |
| Dazu müssen Sie in JMP 16 einfach wie gewohnt zeigen und klicken und Ihre Datenkurationsschritte werden durch die Aktionsaufzeichnung erfasst, die im erweiterten Protokoll erfolgt. |
| Und schließlich können Sie diesen JSL-Code aus dem erweiterten Protokoll exportieren und ändern, um Ihr reproduzierbares Datenkurationsskript zu erstellen. Damit ist unser Gespräch abgeschlossen. Vielen Dank für Ihre Zeit und Aufmerksamkeit. |