Lautsprecher | Abschrift |
| Brian Corcoran | Willkommen zum morgendlichen Update. Dies ist mein Vortrag für JMP Discovery Europe 2021. |
| Mein Name ist Brian Corcoran und ich bin Entwicklungsmanager bei JMP. |
| Was hoffen wir also heute zu tun? |
| Ich möchte Ihnen zeigen, wie Sie einen Bericht in JMP basierend auf einem internetbasierten Datenanbieter mit einem REST-Protokoll erstellen. |
| Sobald wir das getan haben, werde ich Ihnen vorstellen, wie wir diesen Bericht mit der aktualisierten JMP-Skript-Engine, die wir in JMP 16 integriert haben, in JMP Live veröffentlichen können. |
| Abschließend zeige ich Ihnen, wie Sie diesen Test automatisieren können, sodass die Berichte jeden Tag, wenn Sie zur Arbeit kommen, bereits für Sie aktualisiert wurden und Sie sie einfach bei Ihrem Morgenkaffee oder -tee anzeigen können. |
| Okay, lassen Sie uns zuerst über Internet-Datenanbieter sprechen. |
| Die meisten von ihnen basieren auf einem sogenannten REST-Protokoll. |
| Es ist ein zustandsloser Aufruf, im Wesentlichen sieht er aus wie eine URL mit einigen am Ende angehängten Parametern, und immer mehr Organisationen verwenden ihn, um ihre öffentlichen Daten Endbenutzern zugänglich zu machen. Einige Beispiele sind die Weltbank, die US-Volkszählung, Google. |
| JMP hat also eine Einrichtung, die Ihnen bei dieser sogenannten HTTP-Anforderung hilft. Es ermöglicht Ihnen den Zugriff auf diese Dienste. Normalerweise verwenden sie etwas, das als GET- oder POST-Verb bezeichnet wird, um zu diesen zu gelangen. HTTP-Anforderungen ermöglichen es Ihnen, diese zu verwenden. |
| Für diesen speziellen Bericht werde ich den Johns Hopkins COVID verwenden |
| REST-API mit einigen Daten aus der Pandemie. |
| Johns Hopkins ist also die Universität der Vereinigten Staaten, die diese Daten aus der ganzen Welt sammelt und dann diese kostenlose öffentliche API für den Zugriff bereitstellt. |
| Jetzt gibt es davon auch eine Premium-Version, die Ihnen einen besseren Zugriff und mehr Granularität mit den Daten bietet, aber wir werden versuchen, vorerst mit der kostenlosen Version auszukommen, und hoffentlich können Sie einige der Skripte übernehmen die ich dir gebe und probiere sie selbst aus. |
| Wie sieht also die REST-API aus? Brunnen, |
| Lass uns einen Blick darauf werfen. |
| Hier ist ein Beispiel von Johns Hopkins. |
| Es beginnt mit dieser Basis-URL, die in diesem Fall die API ist, die COVID19API.com. Und hier können Sie sich die URL ansehen und sagen, hey, wir fragen nach der Gesamtzahl der bestätigten Fälle für ein Land. |
| Wo Sie dieses eingeklammerte Land sehen, müssen Sie den Namen tatsächlich einfügen. In meinem Fall verwende ich Deutschland (sie verwenden die englischen Namen), |
| aber es gibt wahrscheinlich 100 Länder, in denen Sie das ausprobieren könnten. |
| Bei Johns Hopkins müssen Sie ein Start- und Enddatum angeben |
| hinter dieser Basis-URL, wo Sie das Fragezeichen sehen. Und das sind im Wesentlichen Parameter für diesen API-Aufruf, den Sie durchführen, und die uns die Rückkehr ermöglichen |
| Werte innerhalb des von uns angegebenen Datumsbereichs. |
| Und es ist so ein langes Format. Es ist |
| der Monat ... das Jahr, der Monat und der Tag, T für Zeit und dann die 24-Stunden-Zeit mit einem angehängten Z. |
| Glücklicherweise hat JMP Möglichkeiten, Ihnen dabei zu helfen. Sie können einen Formataufruf verwenden, und heute geben wir Ihnen die genaue Uhrzeit für jetzt zusammen mit dem Datum, und wir geben die Formatzeichenfolge an, die wir verwenden möchten, und dann können wir einfach ein Z an das Ende anhängen erhalten |
| das Format, das wir für Johns Hopkins brauchen. |
| Also, wie gesagt, |
| REST-Aufrufe verwenden normalerweise entweder ein GET- oder ein POST-Post-Verb. Johns Hopkins verwendet ein GET; Ich werde für eine Minute aus PowerPoint springen, um das zu zeigen. |
| Wenn Sie zu dieser Website gehen, die ich dort hatte, in der |
| Folie oder auch im Papier, |
| Sie werden sehen, dass es die APIs nach Typ bereitstellt und Ihnen im Wesentlichen zeigt, wie Sie die Informationen weitergeben und was Sie hier zurück erwarten. |
| In Ordnung, Sie können hier also irgendwie durchgehen, sehen, was jeder benötigt, und Sie können sehen, dass es Premium-Kategorien gibt, in denen Sie so viel pro Monat bezahlen müssen, um darauf zuzugreifen. |
| Okay. |
| So. |
| Was bekommst du zurück? Nun, Sie erhalten JSON zurück, das nur eine Reihe von Zeichenfolgen in Name-Wert-Paaren ist (z. B. Groß- und Kleinschreibung, Doppelpunkt und dann eine numerische Zeichenfolge). |
| das wird die Anzahl der Fälle für diese spezielle Beobachtung darstellen, in Ordnung. Und JMP hat nette Möglichkeiten, um auf JSON zuzugreifen, und das zeigen wir Ihnen gleich. |
| Hier ist unser eigentlicher HTTP-Request-Aufruf. Wir übergeben einfach unsere URL, die gewünschte Methode, die GET ist, und dann diese sichere Null. Warum tun wir das? |
| Nun, Johns Hopkins ist eine öffentliche API und möchte kein Secure Socket Layer oder SSL verwenden, also müssen wir das deaktivieren oder der Aufruf schlägt fehl. |
| Und dann machen wir einfach unseren Aufruf mit dem send-Befehl und unser JSON wird in den Daten zurückgegeben. |
| Lassen Sie uns also ein wenig in ein Skript eintauchen. Ich verlasse PowerPoint und wir rufen JMP auf. |
| Ich verwende JMP Pro 16, aber das funktioniert auch mit normalem JMP. |
| Und ich möchte erwähnen, dass dieses Skript zusammen mit dem Papier, das wir uns ansehen werden, in den Konferenzmaterialien enthalten ist. |
| Okay, also. |
| Was tue ich hier zum Einrichten? Zunächst einmal werde ich sagen, dass ich meinen … den Dokumentenordner verwende, in dem ich meine Daten speichern werde, und ich werde sie in einer Tabelle namens covid19_de.jmp speichern. |
| Später werde ich einen Bericht erstellen und dafür sorgen, dass er immer diesen Namen trägt. In diesem Fall ist es sehr wichtig, dass es sich um einen standardisierten Namen handelt, und ich werde Ihnen später zeigen, warum. |
| Schließlich konvertiere ich nur den Pfad meines Dokuments in meinem Namen und meiner Datei in einen vollständigen zu verwendenden Pfad. |
| In Ordnung, wir werden uns hier nicht um diese Funktion zur Datumsformatierung kümmern, und wir werden näher darauf eingehen, wie wir unsere Daten erfassen. |
| Richtig, also werden wir hier ein Muster verwenden, und das heißt, |
| Wir gehen davon aus, dass wir das Skript noch nie zuvor ausgeführt haben. Jetzt, |
| Wenn wir keine Datei finden, in der wir zuvor Daten gesammelt haben, erstellen wir eine Datentabelle und füllen sie mit Werten aus. Wenn wir jedoch bereits eine Datentabelle finden, aktualisieren wir die Tabelle einfach mit den Daten der letzten Tage, nur einem Wert, alles klar. |
| Und auf diese Weise müssen wir uns keine Gedanken darüber machen, ob wir das schon einmal ausgeführt haben oder nicht. Wir können dieses Skript einfach blind ausführen, Sie können es jemand anderem geben. Es wird für sie funktionieren. |
| Okay, also hier |
| Wir werden sagen, wenn unsere Datei existiert, unsere Datentabelle im Dokumentenordner, gehen Sie einfach weiter und öffnen Sie sie und setzen Sie übrigens dieses Flag, um zu sagen, dass wir bereits Daten haben. |
| Andernfalls werde ich eine Datentabelle erstellen und ich werde sie mit einem Datum, einer Spalte, Fällen und einer täglichen Änderung erstellen. |
| Recht. |
| Der nächste Teil ist nun, dass wir unsere Zeichenfolgen für den Anruf bei Johns Hopkins formatieren werden. Denken Sie daran, dass wir einen Von- und Bis-Bereich haben mussten. Okay, hier ist also die Zeichenfolge, die wir uns bereits angesehen haben. Dies ist für den heutigen Wert. |
| Okay, also in dem Fall, wo ich nur den Wert von brauche ... |
| den aktuellen Tageswert, ich aktualisiere nur meine Daten. |
| Ich werde im Wesentlichen von gestern auf heute gehen. Okay, also werde ich gestern erstellen, indem ich sage heute minus zwei Tage und ich werde zu heute gehen. |
| Ich mache zwei Tage, denn je nachdem, wann und wann die Daten bei Johns Hopkins aktualisiert werden, erhalten Sie manchmal einen Wert, manchmal zwei. |
| Wenn ich ... wenn ich zwei bekomme, nehme ich nur den neuesten Wert, aber ich möchte sicherstellen, dass ich etwas bekomme. |
| In Ordnung, als Nächstes möchte ich ein Startdatum haben, wenn ich noch nie Daten erhalten habe. Jetzt fange ich willkürlich am 1. September 2020 an; man konnte setzen was man wollte. Hier sehen Sie, dass ich tatsächlich den 31. August verwende, das liegt daran, dass Johns Hopkins uns nicht wirklich gibt |
| ein Wert für die Veränderung zwischen Tagen, sodass Sie nur die gesamten kumulativen Fälle für Pandemiedaten erhalten. Um die Änderung zu berechnen, muss ich also subtrahieren |
| heutigen Wert vom gestrigen Wert. |
| Nun, wenn ich am 1. September beginnen möchte, brauche ich die Daten vom 31. August, um die Änderung für den 1. September zu berechnen, also machen wir das. |
| Wenn Sie für die Premium-API bei Johns Hopkins bezahlen, können Sie dies tun |
| erhalten Sie den Änderungswert. |
| In Ordnung, hier ist also unsere URL, die wir zuvor besprochen haben. |
| Okay, also ist das hier wichtig. Wenn wir Daten haben, dass unsere URL gerade bei gestern beginnen wird, wir dies aber nicht tun, und wir diese if-Anweisung verwenden, wenn dies nicht der Fall ist, beginnen wir am 1. September, unserem Startdatum . |
| Und dann gehen wir einfach zu heute. |
| Ich zeige diese URL nur zu Debugging-Zwecken, aber dann machen wir hier tatsächlich unsere Anfrage und senden den Anruf. |
| Recht. |
| Ich habe ein wenig gewartet, um sicherzustellen, dass es eine Chance zum Laufen hat. |
| Und hier bekommen wir unsere JSON-Daten zurück, und hier hat JMP eine wirklich praktische Einrichtung dafür. |
| Parse JSON nimmt diesen großen Block von Zeichenfolgen und zerlegt ihn in ein Array von Name-Wert-Paaren. Sie können dann Elemente in diesem Array aufrufen, um herauszufinden, wie viele Daten Sie erhalten haben. |
| und Sie können diese Daten als Array mit Array-Indizes referenzieren. |
| Okay. |
| Lassen Sie uns jetzt ein wenig nach unten navigieren. |
| Hier werden wir unsere Datentabelle ausfüllen. Wenn wir bereits Daten haben, |
| dann fügen wir der Tabelle am Ende einfach eine Zeile hinzu, |
| und wir werden diesen Datenwert zusammen mit unserer Änderung eingeben, die wir aus dem heutigen Wert im Vergleich zum gestrigen Wert berechnen, alles klar. |
| Dann speichern wir es einfach ab. |
| Jetzt. |
| Wenn wir es noch nie zuvor erstellt haben, addieren wir die Anzahl der Zeilen, die wir haben, minus eins, weil es eine Kopfzeileninformation gibt, und dann werden wir diese durchlaufen und alle unsere täglichen Änderungen berechnen. |
| Datumswerte und |
| Tragen Sie die Falldaten in die Tabelle ein. Und ich denke, ich werde es hoffentlich demonstrieren, indem ich das jetzt von Grund auf neu starte, wir sind bei etwa 163 Tagen oder so ähnlich. |
| Und dann speichern wir diese Tabelle im Dokumentenordner. |
| Okay, jetzt, da wir die Daten haben, können wir darüber nachdenken, sie in JMP Live zu veröffentlichen. |
| Aber das ist wahrscheinlich eine gute Gelegenheit für mich zu beschreiben, wie Sie JMP Live mit JSL programmieren und wie wir es in JMP Live 16 und JMP 16 geändert haben. |
| Lassen Sie mich das mit diesem Vortrag verbundene Papier zur Sprache bringen, und Sie werden es auch in der Community haben. |
| In Ordnung, also haben wir in JMP 16 die Skripterstellung neu geschrieben, damit sie hoffentlich leistungsfähiger, aber einfacher zu verwenden ist, und die Skripterstellung dreht sich um die Idee, eine Verbindung oder verwaltete Verbindungsinformationen zu speichern. |
| So. |
| Was passiert, ist Folgendes: Lassen Sie uns JMP erneut aufrufen. |
| Ich zeige dir, was das bedeutet. Sie archivieren, veröffentlichen, verwalten Verbindungen. |
| Gut. |
| Und wir können einen hinzufügen. |
| Hier würden Sie einen Verbindungsnamen Ihrer Wahl und dann die URL angeben, wobei JMP Live im Wesentlichen selbst ein REST-Dienst ist, wo sich Ihre JMP Live-Site befindet. Wenn Ihr Administrator einen geheimen API-Schlüssel benötigt, um Scripting zu aktivieren, müssen Sie ihn hier angeben. |
| Wenn Sie dies tun und auf die Schaltfläche „Weiter“ klicken, werden Sie aufgefordert, höchstwahrscheinlich abhängig von Ihrem Authentifizierungsmechanismus für Anmeldeinformationen. |
| Wenn Sie diese eingeben, erhalten Sie im Wesentlichen ein Zugriffstoken, was bedeutet, dass es für Sie auf der Festplatte gespeichert wird, nicht Ihre Anmeldeinformationen, sondern nur dieses Zugriffstoken, das Ihnen den Zugriff auf diese Site und das Skript darauf ermöglicht. |
| Auf diese Weise können Sie, ohne diese Informationen im Skript angeben zu müssen, einfach auf den von Ihnen angegebenen Verbindungsnamen verweisen. Und ich zeige Ihnen zum Beispiel eines, das ist JMP Live Daily, das ich verwenden werde. Hier ist meine URL auf den Punkt, mein API-Schlüssel. |
| Ich kann einfach auf JMP Live Daily verweisen, und es weiß, wie es sich in meinem Skript verbinden kann. |
| Okay. |
| Um die Verbindung dann herzustellen, sage ich einfach neues JMP Live und den Namen meiner Verbindung. Jetzt sage ich hier, lasst uns auffordern, wenn es nötig ist. Was bedeutet das? Nun, wenn, aus irgendeinem Grund |
| Ihre Anmeldeinformationen laufen ab oder Ihr Zugriffstoken ist alt, dann werden Sie aufgefordert, Ihre Anmeldeinformationen einzugeben |
| sobald das Skript startet. Wenn Sie dies nicht angeben und Ihre Anmeldeinformationen abgelaufen sind, schlägt das Skript einfach fehl. |
| Okay. Wie veröffentlichen wir also eigentlich einen Bericht in JMP Live? In Ordnung, hier ist also ein Beispiel für eine einfache Bivariante, bei der Ihnen möglicherweise die große Klasse ausgeht. |
| Um daraus einen veröffentlichten Bericht zu machen, sagen Sie einfach, erstellen Sie einen neuen Webbericht und weisen Sie ihn einer Variablen zu. |
| Und dann werde ich diese bivariate Referenz nehmen und sagen, fügen Sie diesen Bericht dem Webbericht hinzu. |
| Und ich werde optional einen Titel und eine Beschreibung angeben. |
| Und dann rufe ich einfach publish auf und die Veröffentlichung gibt ein Ergebnis zurück. |
| Okay, und wir könnten bis zu JMP Live veröffentlichen und so aussehen. |
| Wenn wir wollen, wir, das Ergebnis sagt uns, ob es uns gelungen ist, und da wir eigentlich die Öffentlichkeit sind ... die Veröffentlichung ist eigentlich wie ein HTTP-Aufruf, können wir uns den Status ansehen, wenn wir dies wünschen, oder eine Fehlermeldung . Okay. |
| Gut. |
| Das andere Interessante ist |
| Wenn das Ergebnis unserer Operation ein ... wie das Hinzufügen eines Berichts oder eines Ordners zu JMP Live ist, der ... das Ergebnis, das wir zurückerhalten, Informationen enthält, die es uns ermöglichen, dieses Element weiter zu bearbeiten. |
| Wir können dies As Scriptable nennen, um diese Informationen zu verwenden, um ein Objekt innerhalb der Skripterstellung zu erstellen, z. B. einen Bericht, auf den wir dann zugreifen können. Nachdem ich dies getan habe, kann ich beispielsweise den Bericht verwenden und meinen Berichtstitel festlegen. Es wechselt zu JMP Live und ändert den Berichtstitel. |
| Okay. |
| Die ganze Idee in JMP Live dreht sich jetzt um die Idee, Berichte und Ordner zu manipulieren, Ordner zu durchsuchen, nach Berichten zu suchen, solche Dinge. |
| Der Bericht versteht |
| dass es eine Kennung hat. Und dieser Bezeichner ist, wenn man es sich ansieht, eine lange alphanumerische Zeichenfolge, die wirklich umständlich in ein Skript einzugeben oder zu merken wäre. |
| Aber es ist auch … es ist erforderlich, dass Sie diesen Bericht eindeutig identifizieren. Und der Grund, warum Sie es möglicherweise eindeutig identifizieren möchten, nehmen wir an, Sie möchten es löschen. |
| Sie teilen JMP Live mit, dass Sie den Bericht löschen möchten, und dann kann der Bericht ... Sie können die Get-ID für dieses Berichtsobjekt verwenden, um diese eindeutige ID bereitzustellen, damit JMP Live weiß, welche entfernt werden soll. |
| Ich zeige Ihnen diese speziellen Gegenstände, weil sie in unserem wichtig sein werden |
| ultimative Drehbuch, das wir zu produzieren hoffen. |
| Der andere Bereich, in dem es wirklich wichtig sein kann, … zu wissen, dass ID gesucht wird. |
| Jetzt hier kann ich Berichte finden. Angenommen, ich möchte alle bivariaten Berichte finden, die mit Biv beginnen, kann ich einfach JMP Live bitten, Berichte zu suchen und eine Ergebnisliste zurückzugeben. Dann kann ich diese Liste tatsächlich in eine Liste von Berichten umwandeln. |
| Es gibt eine Funktion namens „Get Number of Items“ (Anzahl der Elemente abrufen) in dieser Berichtsliste, die es mir ermöglicht, jedes einzelne per Index zu durchlaufen. |
| Und dann, wenn ich es möchte, könnte ich sie alle löschen, wenn ich wollte, okay. Die Suchfunktion ist also neu und wir hoffen, dass Sie sie für umfangreiche Operationen auf einer JMP Live-Site ziemlich leistungsfähig verwenden können. |
| Richtig, also gibt es eine Operation, die wir auch ansprechen müssen, bevor wir wirklich bereit sind, unser Skript ein bisschen weiter zu zeigen. |
| Und das sind Update-Daten. |
| Also in JMP Live 16, |
| Wir haben die Möglichkeit hinzugefügt, nur die Daten für einen Bericht zu aktualisieren, ohne den gesamten Bericht wieder in JMP Live veröffentlichen zu müssen. |
| Nehmen wir an, Sie erhalten einen Bericht genau so, wie Sie ihn haben möchten, und wissen Sie, vielleicht ist er ein wenig angepasst und Ihnen gefällt das Erscheinungsbild, und Sie möchten nicht daran herumspielen. |
| Sie möchten die Daten aber aktualisieren und neu berechnen lassen. Nun, jetzt können Sie nur die Datentabelle für diesen Bericht an JMP Live übergeben und außerdem die Übertragungszeit verkürzen. |
| Dazu rufen Sie Update Data auf, geben die Berichts-ID an und dann nur die Datentabelle mit den aktualisierten Daten. |
| Der Bericht wird auf JMP Live neu berechnet, anstatt dies auf Ihrem Desktop tun zu müssen. |
| und jeder, der sich diesen Bericht ansieht, wird auch die Aktualisierung sehen. |
| Okay, jetzt haben wir alle Werkzeuge, die wir brauchen, um unser Skript tatsächlich zu erstellen, also lass uns einen Blick darauf werfen. |
| Gut. |
| So, |
| Hier erstelle ich meine JMP Live-Verbindung. |
| Und jetzt werde ich ein Kontrolldiagramm erstellen. Nun, eine Kontrollkarte ist wirklich nicht das Ideal |
| Analyseplattform für diese Daten, warum nutze ich sie also? Nun, zwei Gründe. Erstens ist es schön, die täglichen Veränderungen zu sehen, |
| und zweitens erlaubt es mir, die Tatsache einzufügen oder anzukündigen, dass wir eine weitere neue Funktion in JMP Live 16 haben, und zwar das Anzeigen von Regelkartenwarnungen. |
| Wenn Sie Regelkarten veröffentlichen und es Beobachtungen gibt, die außerhalb der Grenzen liegen |
| das würde eine Warnung auf dem Desktop erzeugen, nun ja, wenn Sie es in JMP Live veröffentlichen oder die Daten aktualisieren, |
| JMP Live kann auch Warnungen generieren, die an jeden gesendet werden können, der diesen Bericht abonniert hat und eine E-Mail oder eine Benachrichtigung innerhalb der Website erhalten möchte, dass etwas außerhalb der Grenzen liegt. Dies kann für Dinge wie die Prozesssteuerung sehr nützlich sein. |
| Also meine Kollegen |
| halten einen Vortrag über Kontrollkartenwarnungen, und ich ermutige Sie, das auch zu überprüfen, wenn Sie die Möglichkeit haben. |
| Wie habe ich das generiert? Nun, ich bin gerade zu JMP gegangen und, wissen Sie, mit einigen älteren Daten, und Sie wissen zum Beispiel, dass es eine Funktion in JMP gibt, wenn Sie eine Analyse durchführen, wo Sie einfach sagen können, Skript im Skriptfenster speichern. |
| Ich habe diese Informationen einfach genommen und in dieses Skript eingefügt, das ist also ziemlich praktisch. |
| Okay. |
| Kommen wir also zum eigentlichen Thema, wie wir einen Bericht veröffentlichen werden, und ich verspreche Ihnen, das werden wir |
| Führen Sie dies in einer kleinen Weile aus. |
| Okay, also. |
| Auch hier werde ich wieder ein Muster haben. Ich werde nach dem Bericht suchen, um zu sehen, ob er bereits auf JMP Live verfügbar ist. |
| Wenn dies nicht der Fall ist, werde ich es veröffentlichen, aber wenn es bereits dort oben ist, nehme ich einfach die aktualisierte Datentabelle, die wir zuvor erstellt haben |
| und ich werde das bereitstellen, um die Daten auf der Serverseite zu aktualisieren und den Bericht neu berechnen zu lassen, wenn er es für richtig hält. |
| Also gut, wie mache ich das? Zuerst werde ich nach unserem Bericht suchen (und denken Sie daran, dass wir einen standardisierten Berichtsnamen verwenden, den ich zuvor angegeben hatte, sodass wir immer nach demselben suchen). |
| Und ich werde auch sagen, nur von mir veröffentlicht, nur für den Fall, dass jemand anderes einen Bericht mit demselben Namen hatte. Das würde ich nicht bekommen wollen. |
| In Ordnung, ich mache daraus eine Liste, die ich mir ansehen kann. Und wenn die Anzahl der |
| Berichte ist null, das heißt, ich habe keinen zuvor veröffentlichten Bericht gefunden. |
| Also erstelle ich einen neuen Webbericht, füge ihm die Ausgabe des Kontrolldiagramm-Generators hinzu und veröffentliche ihn. Und ich möchte sicherstellen, dass es für alle verfügbar ist, indem ich Public(1) sage. |
| Wenn ich einen gefunden habe, nehme ich diesen Bericht, verweise auf das erste zurückgegebene Element, und aktualisiere einfach die Daten hier, indem ich unsere aktualisierten Tabellen verwende, die wir zuvor generiert haben. |
| Der Rest sind nur Debugging-Informationen, die ich im Protokoll angezeigt habe, nur um zu sehen, ob alles in Ordnung ist, aber es ist nicht wirklich notwendig. |
| Schließlich, am Ende hier, habe ich eine Quit-Anweisung. |
| Wenn wir das später tatsächlich automatisieren, |
| Dies ist wichtig, da wir möchten, dass JMP alle Fenster herunterfährt und schließt. Andernfalls könnte es das nächste Mal, wenn wir es ausführen, einen Blick darauf werfen und sehen, dass JMP bereits ausgeführt wird, und denken, dass die Dinge von einer vorherigen Operation hängen geblieben sind. |
| Für den interaktiven Betrieb werde ich dies jedoch gleich auskommentieren. |
| Okay. |
| Also ich |
| denke, wir sind bereit, hierher zu gehen. Wir können es versuchen und hoffen das Beste. Manchmal ist Johns Hopkins sehr beschäftigt und lehnt die Anfrage zum Abrufen der Daten tatsächlich ab, was unglücklich wäre, aber |
| lass uns das ausprobieren. |
| Und nur um Ihnen zu zeigen, dass ich an dieser Stelle im Dokumentenordner keine JMP-Tabelle mit dem Namen habe, den ich angebe, und wenn ich zu gehe |
| Auf der JMP Live-Site, auf der ich veröffentlichen möchte, sehen wir keine |
| Ausgabe vom Control Chart Builder dort. |
| Okay, also probieren wir es aus. |
| Richtig, da ist unsere Regelkarte. |
| Ich werde JMP Live aktualisieren. |
| Okay, da ist die Ausgabe unseres Regelkartengenerators. Dieser hatte Warnungen davor. |
| Wenn wir uns das in JMP Live ansehen, |
| Wir können den Mauszeiger über Punkte bewegen und sehen, was die neuesten Daten sind. Dies ist für den 10. Februar; Ich bin am 11., also haben wir aktuelle Daten. Dies sind einige Daten, die als außer Kontrolle geraten gelten, basierend auf dem gleitenden Durchschnitt von Januar und Ende Dezember. |
| Richtig, so weit, so gut. |
| Wenn ich |
| Öffnen Sie meinen Dokumentenordner und aktualisieren Sie ihn, |
| Wir können sehen, dass unsere JMP-Tabelle erstellt wurde. |
| Gut. |
| So, und wir sehen jetzt, dass dies vor einer Minute veröffentlicht wurde. |
| Okay, also lass uns weitermachen und das hier beenden. |
| Und wir werden ... eigentlich wollte ich das nicht tun ... Moment mal. |
| Wir werden hier ein wenig schummeln. |
| Machen wir weiter und löschen den letzten Wert, den wir bekommen haben, richtig. Dann sparen wir uns das |
| und schließen Sie es, in Ordnung. Also werden wir die Tatsache simulieren, dass wir es heute noch nicht ausgeführt haben, okay, und dann werden wir es noch einmal ausführen. |
| Okay, holen Sie sich einfach den letzten Wert. |
| Und wir gehen auf unsere Website. |
| Und wir sehen, dass es gerade vor ein paar Sekunden wieder regeneriert wurde. In diesem Fall haben wir also nur die Daten aktualisiert und den letzten Wert erhalten. |
| Wenn ich müsste |
| zur Sprache bringen |
| meine Mail, ich bin zufällig für Warnungen abonniert und hoffe, |
| könnte auch hier ein kleines Update sehen. Wir erhalten Benachrichtigungen darüber |
| Es gibt eine Veröffentlichung in diesem Regelkartenersteller und es gab Warnungen, und wenn ich möchte, kann ich nachsehen, wo diese fehlgeschlagen sind und welche Punkte außerhalb der Grenzen liegen. |
| Okay. |
| Okay, also denke ich, dass wir in einer guten Verfassung sind, um die automatisierte Aufgabe auszuprobieren. Also werde ich weitermachen und diesen Beitrag löschen. |
| Recht. |
| Schließen wir das ab. |
| Schließe das ab. |
| Ich werde unsere Quittung wieder hineinstecken, weil wir sie jetzt brauchen werden, für einen automatisierten One-Way-Lauf. |
| Und ich werde dies schließen. |
| Gehen Sie zum Dokumentenordner und ich werde löschen |
| unsere Daten und tun so, als würden wir dies von Grund auf neu ausführen. |
| Recht. |
| Und stellen wir sicher, dass JMP heruntergefahren ist. |
| Okay. |
| Jetzt. |
| Wenn Sie einige meiner früheren Discovery-Vorträge gesehen haben, haben Sie vielleicht gesehen, wie ich den Aufgabenplaner schon einmal verwendet habe. Es ist ein beliebtes Thema bei mir. |
| Sie geben einfach den Taskplaner hier unter Windows ein; Ich hoffe, Sie haben das gesehen. |
| Auf dem Mac müssten Sie Automator oder einen Chron-Job verwenden. Ich würde Automaten vorschlagen. |
| In Ordnung, aber mit dem Taskplaner können Sie fast alles regelmäßig ausführen. |
| Also lass uns weitermachen und |
| eine neue Aufgabe erstellen. Wir erstellen hier einfach eine Aufgabe und benennen sie |
| COVID-Daten für Deutschland. |
| Ich möchte mit hohen Privilegien laufen. |
| Ich werde nur ausführen, wenn der Benutzer angemeldet ist, weil ich keine Anmeldedaten eingeben möchte, aber ich würde vorschlagen |
| Ausführen auswählen, wenn der Benutzer angemeldet ist oder nicht, wenn Sie dies zu Produktionszwecken tun, |
| Denn wenn Ihr Computer aufgrund eines Windows-Updates oder aus einem anderen Grund neu gestartet wird, möchten Sie, dass er weiterhin ausgeführt wird, und dies ermöglicht Ihnen dies, wenn Sie diese Option angeben. Sie werden aufgefordert, Ihre Anmeldeinformationen einzugeben und wann Sie diese Aufgabe endgültig speichern. |
| In Ordnung. |
| Also für Trigger, was ist das? Das ist, wenn ich möchte, dass es läuft, also lass uns weitermachen und das tun. |
| Und sagen wir, wir wollen es ab morgen täglich laufen lassen. |
| Und vielleicht will ich es nur um sechs Uhr morgens laufen lassen, bevor ich morgens reinkomme, |
| was auch immer einsteigen bedeutet mehr. |
| Bevor ich aus dem Bett rolle und zur Arbeit gehe. Gut. |
| Also werde ich diese Aufgabe stoppen, wenn sie länger als 30 Minuten läuft, weil das wahrscheinlich bedeutet, dass sie aufgehängt ist. |
| Und ansonsten denke ich, dass wir gut dort hingehen können. |
| Welche Aktion wollen wir also ausführen? Nun, wir wollen JMP ausführen, also müssen Sie navigieren, wo jmp.exe installiert ist, was sich in Programmdateien, SAS und entweder JMP oder JMP Pro 16 befindet. Gehen Sie voran und wählen Sie das aus. |
| Und dann ist unser Argument unser JSL-Skript, das Sie hier leider manuell eingeben müssen, |
| was ich tun werde. |
| Aber stellen Sie einfach sicher, dass Sie damit vorsichtig sind. |
| Okay. |
| Jetzt werde ich unter Einstellungen sicherstellen, dass wir immer erlauben. Es muss bei Bedarf ausgeführt werden, damit wir es gleich ausprobieren und sicherstellen können, dass es richtig funktioniert. |
| Und wenn bereits einer läuft, stellen Sie sicher, dass Sie ihn stoppen. Das bedeutet wahrscheinlich, dass es aufgehängt ist und die Aufgabe beendet wird, wenn sie wieder länger als eine Stunde läuft, nur für den Fall, dass sie aufhängt. |
| In Ordnung, da ist also unsere Aufgabe, jeden Tag zu laufen. Wir können es also im Wesentlichen debuggen, indem wir es jetzt gleich ausprobieren, da wir es erlaubt haben, es jederzeit auszuführen. Machen wir weiter, klicken Sie mit der rechten Maustaste und sagen Sie „Ausführen“. |
| Hoffentlich sehen wir die Taskleiste. JMP erscheint kurz, läuft und verschwindet dann. |
| Wenn ich hier nach unten schaue, passieren hoffentlich Dinge. |
| Okay, und dann ist es weg. |
| Werfen wir einen Blick auf unsere Website; es wird das auffrischen. |
| Und da ist unser Bericht, der vor ein paar Sekunden erstellt wurde. |
| Wenn wir uns unseren Ordner ansehen, können wir sehen, dass unsere JMP-Tabelle generiert wurde und hoffentlich morgen früh um 6 Uhr, |
| Unsere Aufgabe wird ausgeführt und liefert uns einen neuen Stapel von Daten und einen aktualisierten Bericht. Und wenn wir mit unserem Kaffee oder Tee hereinkommen, können wir uns das ansehen und unsere Entscheidungen für den Tag treffen. |
| Damit schließe ich meinen Vortrag. Ich hoffe, einer der drei Aspekte, die wir heute besprochen haben, |
| internetbasierte Datenerfassung, |
| JMP Live-Scripting oder automatisierte Aufgabenerstellung hat Ihnen bei Ihrer Arbeit geholfen. |
| Vielen Dank für Ihre Teilnahme und ich hoffe, Sie genießen den Rest der Konferenz. Wiedersehen. |