Ich habe jetzt einige der Add-Ins veröffentlicht, die ich für JMP geschrieben habe. Die Codes und Add-Ins (einige sind verschlüsselt) finden Sie auf dieser GitHub-Seite jthi-jmp-tools (github.com) und Übersicht finden Sie unter jthi-jmp-tools / JMP-Tools (github.com) Repository. Wenn Sie Vorschläge zu diesen Add-Ins haben, können Sie:
- Kommentiere diesen Beitrag
- Öffnen Sie ein Problem im richtigen GitHub-Repository, das sich auf dieses Add-In oder auf ein generisches Add-In bezieht
- Kommentieren Sie auf der Add-in-Seite der JMP Community, ob ich hier ein Add-in veröffentlicht habe
- Private Nachricht in der JMP-Community senden
Der Zweck dieser Entwicklung besteht darin, neue Tools bereitzustellen, die Tools, die JMP bereits hat, zu verbessern und hauptsächlich meine Skriptfähigkeiten zu verbessern, während ich etwas interessanten Code schreibe. Alle Add-Ins finden Sie unter jthi-jmp-tools/JMP-Tools/releases (github.com) und Sie sollten in der Lage sein, sie von dort herunterzuladen und zu installieren. Einige sind auch in der JMP Community zu finden. Die Add-Ins enthalten einige eigenständige Funktionen, die Sie in Ihren eigenen Skripten verwenden können, indem Sie die richtigen Skripte einfügen / in Ihren Code kopieren. Wenn Sie also daran interessiert sind, schlage ich vor, dass Sie sich die Quellcodes ansehen.
Die Add-Ins sind nach einer Grundidee strukturiert, die ich vor langer Zeit darüber hatte, wie man sie strukturiert, also haben sie größtenteils die gleiche Verzeichnisstruktur und einige gemeinsame Dateien. Beispielsweise wurden einige Einstellungen, die gespeichert werden können, in der Datei settings.json gespeichert. Die Add-Ins werden mit zusammengestellt Add-In-Manager da es die Verwaltung mehrerer Add-Ins viel einfacher macht als die nativen Tools, die JMP bietet.
Die meisten Add-Ins werden dem Add-Ins-Menü unter JMP-Tools hinzugefügt:

Es gibt auch ein Add-in für die Symbolleiste. Diese finden Sie auf der Release-Seite "Main-Repositories". Am nützlichsten, wenn Sie die hier beschriebenen (alle/meisten) Addins installiert haben.

Nachfolgend finden Sie eine kurze Übersicht über die von mir erstellten Add-Ins. Beachten Sie, dass es einige gibt, die stark in Arbeit sind. Die Skripte, die in der Community zu finden sind, sollten diesen "Buch"-Link im Titel haben
.
Die Idee besteht darin, Benutzern schnelle zusammenfassende Statistiken und schnelle Aktionen bereitzustellen, die sie für Spalten ausführen können. Dies kann als erstes Tool verwendet werden, das Sie ausführen, wenn Sie einen neuen Datensatz erhalten, um sich einen Überblick über die Daten zu verschaffen, mit denen Sie arbeiten (teilweise inspiriert von Pandas-Profiling (github.com) ).

Von Zeit zu Zeit werden Sie Daten finden, die falsch codiert wurden und einen falschen Datentyp haben. Wenn Sie in JMP den Datentyp von Zeichen in Numerisch ändern, können aufgrund der Funktionsweise der Konvertierung ziemlich leicht einige Daten verloren gehen. Der Zweck dieses Tools besteht darin, ausgewählte Zeichenspalten (die sicher konvertiert werden können) in numerische Spalten umzuwandeln. Das Tool ruft die Werte in Spalten ab und prüft dann, ob sie in numerische Spalten konvertiert werden können. Und wenn alle (oder genug davon) konvertiert werden können, wird der Datentyp in numerisch geändert. Sie können die Spalten auswählen, die Sie konvertieren möchten, und den Schwellenwert für die Konvertierung und die Abtastrate verwenden.

Dieses Tool erstellt eine Sortierspalte für eine Datentabelle mit aktuellen Zeilennummern. Dies ist nützlich, wenn Sie mit der Analyse beginnen und die Daten sortieren möchten, aber dennoch die Möglichkeit haben, zur ursprünglichen Reihenfolge zurückzukehren. Die Spalte wird am Anfang der Datentabelle erstellt, und wenn mehrere Sortierspalten erstellt werden, wird die Indizierung hinzugefügt.

Ich habe auch einen Wunschlisteneintrag erstellt, in der Hoffnung, dass etwas Ähnliches direkt von JMP gefunden werden könnte (für Spalten existiert dies bereits, aber nicht für Zeilen). Eigenschaft/Spalte der Originalbestellung beim Öffnen/Erstellen zu JMP-Datentabellen hinzufügen
Mit dem Tool können Benutzer problemlos mehrere Spalten löschen, die mehr als die angegebene Menge (Schwellenwert) an fehlenden Werten enthalten.

Dieses Tool ermöglicht es dem Benutzer, fehlende Werte basierend auf dem vorherigen/nächsten/nächsten gefundenen Wert zu füllen. Es gibt bereits Tools, die dies auf die eine oder andere Weise tun können (sogar JMP hat Füllzeilen), aber die, die ich verwendet/gesehen habe, fehlen Mindestens die Gruppierungsoption, die Sie mit diesem Add-In ausführen müssen, sollte auch nicht erfordern, dass Sie die Datentabelle sortiert haben, wenn Sie die Spalte Reihenfolge verwenden.

Der Zweck des Tools besteht darin, eine Benutzeroberfläche mit eindeutigen Werten bereitzustellen, die aus einer ausgewählten Spalte (nominal, ordinal) in verschiedenen Formaten aus einer ausgewählten Datentabelle aufgelistet sind. Aus dieser Liste können Benutzer Werte entweder direkt kopieren und in die Zwischenablage einfügen oder bestimmte Schaltflächen zum Kopieren verwenden.
Tool bietet auch eine Option, um Werte direkt in das Feld einzufügen und die Werte in verschiedenen Formaten zu erhalten. Dies ist praktisch, wenn Sie beispielsweise Werte aus Excel kopieren und einfügen. Sie können auch Werte aus der Zwischenablage direkt in die SQL-Liste formatieren.

Der Zweck dieses Add-Ins besteht darin, dem Benutzer eine Möglichkeit zu bieten, eine neue Tabelle mit einer oder mehreren Spalten gruppierter Werte auf ähnliche Weise wie das Listagg von SQL zu erstellen. Im besten Fall wäre diese Option in den Summary- und Split-Plattformen von JMP vorhanden, da ich von Zeit zu Zeit einige Werte behalten möchte, selbst wenn ich mit Summary splitte oder aggregiere.

Ich habe für beide Artikel auf der Wunschliste erstellt Erlauben Sie Split, Mehrfachantwortspalten zu erstellen und Listagg/Concatenate/GROUP_CONCAT zur Zusammenfassungsplattform hinzufügen Tisch.
Verbinden Sie zwei Datentabellen mit fortlaufender Spalte. Kann rückwärts, vorwärts, am nächsten/am nächsten beitreten. Unterstützt die Verwendung von Toleranz / maximalem Abstand für die Verbindung und die Verwendung der Gruppierungsspalte. Daten müssen nicht sortiert werden, aber es beschleunigt die Werkzeugausführung. Inspiration teilweise aus Python Pandas - Asof zusammenführen

Ich habe einen Artikel auf der Wunschliste erstellt, der teilweise damit verknüpft ist Fügen Sie Fuzzy-Join/Asof-Merge/Join-by-Spalten hinzu, die keine genauen Übereinstimmungen haben
Die meisten Spaltensortieroptionen im JMP-Menü Cols/Reorder Columns bieten keine Möglichkeit, nur ausgewählte Spalten zu sortieren. Dieses Add-in bietet JMP-Benutzern diese Optionen.

Es gibt einen diesbezüglichen Wunschlisteneintrag (und das ist der Grund, warum ich dieses Add-in geschrieben habe) Spalten neu anordnen > Sortieren nach Name / Datentyp / Rolle > NUR AUSGEWÄHLTE SPALTEN
10. Ersetzen Sie X durch Y ( x-durch-y ersetzen (github.com) )
Ersetzt vollständige Übereinstimmungen durch andere Werte in ausgewählten Spalten.

Zweck dieses Tools ist es, JMP-Benutzern zu ermöglichen, lange (gestapelte) Daten aufzuteilen und Spezifikationsgrenzen direkt aus den Originaldaten festzulegen, wenn die Daten das richtige Format haben.

Tool für schnellen Zugriff auf benutzerdefinierte Skripte (vorkonfiguriert für jthi-jmp-tools). Bietet auch Zugriff auf das Starten von Skripts, das Ändern ihrer settings.json-Datei und das Öffnen des Verzeichnisses. Ermöglicht auch das Ändern der aktuellen Datentabelle.
Strongy schlug vor, eine Verknüpfung mit einfachem Zugriff hinzuzufügen, zum Beispiel ist meine Strg+Umschalt+Z. Wenn das Skript bereits geöffnet ist, bringt es ein erneuter Start in den Vordergrund.

Dies ist noch sehr viel Arbeit im Gange, aber die Idee ist, eine Dateiliste der vom Benutzer angegebenen Verzeichnisse bereitzustellen und das Öffnen von Dateien/Verzeichnissen zu ermöglichen.

Das war's fürs Erste, ich werde versuchen, die immer noch stark unfertigen Add-Ins irgendwann fertigzustellen und Fehler zu beheben, auf die ich stoße. Die aktuellsten Versionen der Add-Ins finden Sie auf GitHub.
Fühlen Sie sich frei, es herunterzuladen Füllen Sie fehlende Zellen aus und installieren Sie das Add-In und probieren Sie es aus.
Einige ähnliche Dinge können direkt in JMP mit Fill durchgeführt werden:

und mit Datentabellen-Tools-Add-In . Das Add-In, das ich geschrieben habe, hat einige zusätzliche Vorteile, wie z. B. das Gruppieren von Spalten und das Erfordernis, dass Sie die Datentabelle nicht sortieren müssen, wenn Sie eine Spalte zum Sortieren haben (wenn keine Sortierspalte bereitgestellt wird, wird die Zeilenreihenfolge verwendet).
Konvertieren Sie mit der Ersetzungsfunktion von EmEditor schnell Browserkopien in JSL-Code
CURL (CMD) wird aus dem Browser F12 kopiert und mit der EmEditor-Ersetzungsfunktion schnell in JSL-Code konvertiert.
Natürlich sollte auch dieser Prozess mit JSL umgesetzt werden.

cURL(cmd)
curl "http://excalc" -H "Connection: keep-alive" -H "Origin: http://excalc.icfqs.com:7616" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" -H "Content-Type: text/plain" -H "Accept: */*" -H "Referer: http://excalc.icfqs.com:7616/site/tdx-zbfx/page-ddlj.html?setcode=1^&code=xxxxxx^&name=ssssss^&color=0" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7" -H "Cookie: ASPSessionID=" --data-binary "^[^{^\^"funcId^\^":2,^\^"offset^\^":0,^\^"count^\^":200,^\^"cond^\^":^\^"time,11700,33600^|amount,14^\^",^\^"modname^\^":^\^"TickAly^\^"^}^]" --compressed --insecure
EmEditor
document.selection.Replace("\\r","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\\n\\n","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" -H ","\\n",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("curl \"(.{0,})$","u=\"\\1;h=[=>];//h[\"Content-Type\"]=\"application/json\";",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" --compressed","\\n--compressed",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace(" --data(.[^\"]{0,})(.{0,})$","\\njj=\\2;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
//document.selection.Replace("\"cookie: (.{0,})$","h[\"cookie\"]=\"\\1;",eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("\"cookie: (.{0,})$","h[\"cookie\"]=\"\\1;\\nzzzrs=New HTTP Request(URL(u),Method(\"GET\"),Headers(h));//rs=New HTTP Request(URL(u),Method(\"POST\"),JSON(jj),Headers(h));\\nr=rs<<SEND></SEND>JSL( Nicht beenden )
u="http://excalc";h=[=>];//h["Content-Type"]="application/json";
//h["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36";
//h["ac"]="*/*";
h["cookie"]="ASPSessionID=";
rs=New HTTP Request(URL(u),Method("GET"),Headers(h));//rs=New HTTP Request(URL(u),Method("POST"),JSON(jj),Headers(h));
r=rs<<SEND></SEND>