You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?Sie haben ein Skript erstellt. Wie können Sie nun teilen, was Sie erstellt haben?
Willkommen zurück! Wenn Sie es bis hierher geschafft haben, verfügen Sie wahrscheinlich über ein funktionierendes Skript. Glückwunsch! Wenn Sie es gerade erst entdeckt haben diese Serie , vielleicht möchten Sie diesem Artikel einen Pin hinzufügen und von vorne beginnen.
Hier sind Links zu denen, die Sie möglicherweise verpasst haben:
- Das Erste, was ich gerne wüsste, als ich mit dem Schreiben von Skripten begann: Es gibt verschiedene Arten von Skripten
- Das Zweite, was ich gerne wüsste, als ich mit der Skripterstellung begann: Hilfe bekommen
- Das Dritte, was ich gerne gewusst hätte, als ich mit der Skripterstellung begonnen habe: Der Antwortknopf ist dein Freund
- Das vierte, was ich gerne wüsste, als ich mit dem Schreiben von Skripten begann: Was zu tun ist, wenn etwas schief geht
- Das fünfte, was ich gerne wüsste, als ich mit dem Schreiben von Skripten begann: Wie man Dinge aneinanderreiht
- Das Neue, was ich den Leuten zeigen werde, wenn sie mit der Skripterstellung beginnen: Das erweiterte Protokoll
Sie haben also einen schönen neuen Code. Was sind deine Pläne dafür? Wenn Sie sich die Mühe gemacht haben, ein Skript zu erstellen, sollten Sie wahrscheinlich darüber nachdenken, wie Sie es verpacken, damit andere (oder Sie selbst) es problemlos verwenden können. In diesem letzten Eintrag möchte ich Ihnen einige Ideen geben, wie Sie das, was Sie erstellt haben, mit anderen teilen können. JMP Es gibt mehrere Optionen, je nachdem, wie Sie es teilen möchten.
Teilen Sie Ihre Arbeit
Es gibt vier oder fünf Methoden (je nachdem, mit wem Sie sprechen), zum Packen von Skripts, damit andere sie nutzen können: JSL-Dateien, Query Builder-Dateien, JMP-Add-Ins, JMP-Anwendungen sowie JMP Live- und/oder JMP Public-Berichte. Für den Grad der Skripterstellung, den wir hier durchführen, liegen einige dieser Methoden etwas außerhalb des Rahmens (insbesondere Anwendungen; diese heben wir uns für eine andere Serie auf). Ich möchte Ihnen hier einige Optionen und gute Ressourcen für jede Methode vorstellen und einige Beispiele für diejenigen durcharbeiten, die Ihnen in der aktuellen Phase Ihrer Skripterstellungsreise das beste Preis-Leistungs-Verhältnis bieten.
JSL-Dateien
Daran denken die Leute, wenn sie über die Arbeit bei JSL sprechen. Wenn Sie die Serie verfolgt haben, befindet sich Ihr Drehbuch derzeit hier. Die Sache ist die: JSL-Dateien sind nicht die beste Möglichkeit, Dateien zu speichern oder zu teilen. Sie können versehentlich bearbeitet werden. Sie erfordern, dass jemand weiß, wie man ein Skript ausführt. Und um ehrlich zu sein, ist es für manche Menschen etwas einschüchternd, den Code zu sehen.
JSL-Dateien sollten wahrscheinlich nur für die trivialsten Aufgaben oder für Prototyping-Methoden für ein größeres Projekt verwendet werden. Natürlich gibt es Ausnahmen. Wenn Sie eine Funktionsbibliothek oder ähnliches erstellen, liegt diese als JSL-Datei vor. Es gibt auch Teile von JMP, mit denen Sie JSL direkt bereitstellen können (z. B. die Code-Folding-Schlüsselwortdatei ), aber diese sind eher die Ausnahme als die Regel. Meine persönliche Vorliebe besteht darin, bei einer JSL-Datei nur als letzten Ausweg Halt zu machen, wenn ich mit einem anderen Programmierer an etwas zusammenarbeite oder wenn der Code ausschließlich für meinen persönlichen Gebrauch bestimmt ist (z. B. ein Snippet zum Testen von etwas).
Query Builder-Dateien
JMP bietet Query Builder-Unterstützung für die meisten Dateitypen über ODBC-Treiber oder JMP-Datentabellen. Wenn Ihr Skript einen Datenmanipulationsschritt beinhaltet, besteht die Möglichkeit, dass Sie einen Großteil der schweren Arbeit auf die Query Builder-Datei verlagern und das Post-Query-Skript (mehr dazu gleich) verwenden könnten, um die Aufgaben zu erledigen, die der Query Builder ausführen kann Ich kann nicht damit umgehen. Die Verwendung dieser Dateien als Verpackungsmethode vereinfacht den Arbeitsablauf und macht das Skript robuster. Sie machen das Skript auch portierbar. Darüber hinaus erhalten Sie die Möglichkeit, die integrierten Filter-Eingabeaufforderungen zu verwenden, um Ihren Code noch flexibler zu gestalten.
Schauen wir uns ein einfaches Beispiel an. Ich werde den unten aufgeführten JMP-Datentabellen-Abfrage-Builder verwenden Tabellen > Abfrage-Generator anstelle der für ODBC- oder SAS-Verbindungen, nur um die Dinge einfacher zu halten, aber der Arbeitsablauf wäre für diese Fälle ähnlich, und Es gibt Ressourcen, die zeigen, wie diese funktionieren .
Lassen Sie uns zunächst eine Tabellenabfrage einrichten. Ich werde das nicht aufschreiben. Das JMP-Dokumentationsteam hat mit einem Beispiel für die SATByYear-Beispieldaten großartige Arbeit geleistet. Befolgen Sie einfach die Anweisungen in dieses Beispiel und stoppen Sie, nachdem Sie die Abfrage ausgeführt haben, aber lassen Sie den Abfrage-Generator geöffnet. Sobald Sie die Datentabelle haben, erstellen Sie eine Graph Builder-Karte:
- Öffnen Sie den Graph Builder ( Diagramm > Diagramm-Generator ).
- Ziehen Sie „State“ in die Drop-Zone „Map Shape“ unterhalb der Y-Achse.
- Ziehen Sie % Taking (2004) in die Drop-Zone „Farbe“.
- Gehen Sie zum roten Dreieck neben Graph Builder und wählen Sie aus Wiederherstellen > Spaltenumschalter .
- Wählen % Einnahme (2004) als das, was Sie ausschalten und anklicken möchten OK .
- Wählen Sie alle kontinuierlichen Variablen aus, zwischen denen Sie wechseln möchten, und klicken Sie auf OK .
Wählen Erledigt um das Bedienfeld zu schließen.
Nun, das ist eine Menge Klicken, um ein Diagramm und eine sehr häufige Ansicht für diese Art von Daten zu erhalten. Mithilfe unserer neuen Skriptkenntnisse können wir Query Builder veranlassen, dieses Diagramm (und alle weiteren Diagramme, die wir später hinzufügen möchten) zu reproduzieren. So machen Sie es:
- Wählen Skript speichern > In Zwischenablage d aus dem Graph Builder.
- Wählen Sie im Abfrage-Generator die aus Post-Query-Skript Registerkarte in der unteren Hälfte des Fensters.
- Paste ( STRG+P für PC bzw CMD+P für MacOS) das Skript in die Registerkarte „Post-Query-Skript“ ein.

- Speichern Sie die Query Builder-Datei, indem Sie auf klicken Speichern .
- Schließen Sie nun die vom Query Builder erstellte Datentabelle und den Graph Builder.
- Klicken Abfrage ausführen .
Sehen Sie, wie das funktioniert? Durch die Verwendung des Query Builders erhielten Sie kostenlose Interaktivität in Form des Filterdialogs und konnten die Effizienz dieses Workflows erheblich steigern. Wenn jemand die beiden Datendateien hätte, könnten Sie ihm die Query Builder-Datei senden und es würde das gleiche Ergebnis liefern.
JMP-Add-Ins
Wenn Sie möchten, dass Ihr Code in JMP angezeigt wird, ist ein Add-In die richtige Wahl. Add-Ins werden im Add-In-Menü in JMP angezeigt, das erst angezeigt wird, nachdem Sie Ihr erstes Add-In installiert haben. Sie werden im JMP-Dateisystem gespeichert, sodass sich der Benutzer nicht merken muss, wo sich eine Skriptdatei befindet. Und sie verleihen einem abgeschlossenen Projekt den gewissen Schliff. Zugegebenermaßen können sie auf den ersten Blick einschüchternd wirken, aber mit dem Add-in-Assistenten ist es wirklich einfach, mit ihnen zu arbeiten.
Ich werde ein wirklich einfaches Add-In erstellen, das diesen Code verwendet:
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
Der Code öffnet das Protokoll und druckt eine Nachricht. Wir nennen dieses Add-in „Mein erstes Add-in“. Der erste Schritt besteht darin, einen Add-in-Builder zu öffnen ( Datei > Neu > Neues Add-in ). Danach müssen Sie nur noch das Formular ausfüllen. Oben auf der Benutzeroberfläche befinden sich fünf Registerkarten. Wir benötigen nur die ersten beiden für unser Add-In. Auf der ersten Registerkarte (Allgemeine Informationen) geht es mehr um die Buchhaltung und darum, JMP darüber zu informieren, wo sich die Dinge befinden. Auf der zweiten Registerkarte werden tatsächlich die Bits eingerichtet, die sich in der JMP-GUI befinden.
Unter „Allgemeine Informationen“ sind die Felder „Add-in-Name“ und „Version“ ziemlich selbsterklärend. Sie können die Ausführung Ihres Codes durch ältere Versionen von JMP mit der JMP-Mindestversion einschränken. Sie können Ihr Add-In auch auf die Ausführung unter MacOS oder Windows beschränken, indem Sie den Host verwenden. Ich empfehle, die Mindestversion und den Host so einzustellen, dass sie mit der Konfiguration des Systems übereinstimmen, auf dem der Code geschrieben wurde (es sei denn, Sie haben die Möglichkeit, Tests auf anderen Konfigurationen durchzuführen). Das ist einfacher, als sicherzustellen, dass Ihr Code für alle Situationen kugelsicher ist, insbesondere wenn Sie gerade erst anfangen. Die Add-In-ID ist ein eindeutiger Ordnername, der bei der Installation des Add-Ins im JMP-Dateisystem erstellt wird. JMP empfiehlt die Verwendung der „Reverse DNS“-Namenskonvention (keine Ahnung warum). Im Grunde bedeutet es, dass Sie etwas erstellen, das wie eine Website-Adresse aussieht, und es umkehren. Für das Add-In verwenden wir com.myAddin.MyFirstAddin. So sollte die erste Registerkarte aussehen:
Unter dem Menüpunkte Klicken Sie einfach auf die Registerkarte Befehl hinzufügen Taste. Geben Sie dann unter Details dem Menüpunkt einen Namen. Wenn Sie ausgefallener sein möchten, können Sie ihm einen Tooltip hinzufügen, der erklärt, was Ihr Add-In tut, wenn Sie mit der Maus darüber fahren. Dann kopieren Sie einfach Ihre JSL und fügen sie in den Aktionsbereich ein. Wenn Sie das obige Code-Snippet verwenden, ist Ihr Menüpunkte Die Registerkarte sollte so aussehen:

Und das ist es. Speichern Sie einfach die Datei, und schon sind Sie fertig! Da die Standardaktion (auf der Allgemeine Information (Registerkarte) besteht darin, das Add-In zu installieren, wenn Sie es speichern, indem Sie auf klicken Speichern erstellt eine Datei zum Versenden an andere und installiert sie auf Ihrer eigenen JMP-Instanz. Sobald Sie das Add-In gespeichert haben, sollte im Menü Ihres Add-Ins ein Eintrag wie dieser angezeigt werden:
JMP-Anwendungen
Sie möchten also etwas erstellen, das aussieht, als wäre es ein nativer Teil von JMP? Application Builder ist meiner Meinung nach die flexibelste und effizienteste Methode zur Generierung hochwertiger, benutzerdefinierter JSL-Lösungen. Es bietet Ihnen die Möglichkeit, jeden Aspekt der Software zu steuern, vorhandene Teile von JMP zu nutzen und benutzerdefinierte Routinen zu verwenden. Diese Flexibilität und Leistungsfähigkeit hat jedoch ihren Preis in Form einer Lernkurve.
Das heißt, Sie sollten sich davon nicht einschüchtern lassen. Es gibt viele Ressourcen für den Einstieg in Application Builder und die Dinge, die Sie damit machen können, sind unglaublich. Es wird nur etwas Arbeit erfordern, um es zum Laufen zu bringen. Es gibt auch eine „Lite“-Version von Application Builder, die in JMP integriert ist. Sie kennen es als Drag-and-Drop-Tool namens Dashboard Builder. Sobald Sie ein wenig Erfahrung mit JSL haben, können Sie Folgendes tun: der Application Builder-Kurs von SAS Education wäre keine schlechte Möglichkeit, etwas über dieses sehr leistungsstarke Werkzeug zu lernen. Ich spiele auch mit dem Gedanken, irgendwann eine weitere „Fünf Dinge“-Serie zu diesem Thema zu machen, also haltet die Augen offen!
JMP Live und JMP Public
Während JMP Live und JMP Public stärker auf die „Konsum“-Seite ausgerichtet sind, können Sie mit dieser Methode Dashboards und Berichte erstellen und veröffentlichen, damit andere sie nutzen können. Zum größten Teil verwenden Sie nur die JSL-Teile, die ich Ihnen in dieser Serie gezeigt habe. Dan Valente hat ein Toller Blog-Beitrag zum Skripting für JMP Live (und JMP Public) Veröffentlichungsprozess, daher werde ich nicht weiter darauf eingehen.
Hausaufgaben
Nun, du hast es geschafft! Die letzte Hausaufgabe ist wirklich einfach. Verpacken Sie Ihren Code, geben Sie ihn einem Kollegen und lassen Sie ihn ausprobieren und prüfen, ob er funktioniert. Wenn dies nicht der Fall ist, sehen Sie sich die Fehlermeldungen an und finden Sie heraus, warum. Wenn ja, dann haben Sie Ihr erstes JMP-Add-In erstellt! Gute Arbeit.
Wohin von hier aus?
Wie ich bereits sagte, war diese Serie nicht dazu gedacht, Sie umzuhauen und Sie mit meinen Skriptfähigkeiten zu verblüffen. Es sollte Ihnen die richtige Richtung zeigen, Ihnen eine gute Karte zeigen, Ihnen auf die Schulter klopfen und Ihnen helfen, falls Sie nicht weiterkommen. Es ist ein Ausgangspunkt; Es liegt noch viel mehr Weg vor Ihnen als hinter Ihnen.
Von hier aus besteht der Trick also darin, es weiter zu versuchen und zu experimentieren. Nehmen Sie die Add-Ins und Anwendungen anderer Benutzer immer wieder auseinander, um zu sehen, wie sie funktionieren. Probieren Sie immer wieder neue Dinge aus und suchen Sie nach Möglichkeiten, Ihren Arbeitsablauf mit kleinen Skripten effizienter zu gestalten. Je öfter Sie das tun, desto besser werden Sie und desto zugänglicher erscheinen Ihnen die größeren Projekte, über die Sie nachdenken. Bleiben Sie einfach dran.