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:
- Kommentieren Sie diesen Beitrag
- Öffnen Sie ein Problem im richtigen GitHub-Repository, das sich auf dieses Add-In oder ein generisches Add-In bezieht
- Kommentieren Sie auf der JMP-Community-Add-In-Seite, ob ich das Add-In hier veröffentlicht habe
- Senden Sie eine private Nachricht in der JMP-Community
Der Zweck dieser Entwicklung besteht darin, neue Tools bereitzustellen, die Tools, die JMP bereits hat, zu verbessern und vor allem meine Skriptfähigkeiten zu verbessern, während ich einigermaßen interessanten Code schreibe. Alle Add-Ins finden Sie unter jthi-jmp-tools/JMP-Tools/releases (github.com) und Sie sollten sie von dort herunterladen und installieren können. 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 korrekte Skripte einbinden bzw. in Ihren Code kopieren. Wenn Sie also daran interessiert sind, empfehle ich Ihnen, einen Blick auf die Quellcodes zu werfen.
Die Add-Ins sind nach einer Grundidee strukturiert, die ich vor langer Zeit hatte, wie man sie strukturieren soll, sodass sie größtenteils die gleiche Verzeichnisstruktur und einige gemeinsame Dateien haben. Beispielsweise wurden einige speicherbare Einstellungen in der Datei „settings.json“ gespeichert. Die Add-Ins werden mithilfe von zusammengestellt Add-In-Manager da es die Verwaltung mehrerer Add-Ins wesentlich einfacher macht als die nativen Tools, die JMP bereitstellt.
Die meisten Add-Ins werden dem Add-Ins-Menü unter JMP-Tools hinzugefügt:

Es gibt auch ein Add-In für die Symbolleiste. Dies finden Sie auf der Release-Seite „Main-Repositorys“. Vor allem dann nützlich, wenn Sie die (alle/meisten) hier beschriebenen Add-Ins installiert haben.

Nachfolgend finden Sie einen kurzen Überblick über die von mir erstellten Add-Ins: Beachten Sie, dass es einige gibt, an denen noch viel gearbeitet wird. Die Skripte, die in der Community gefunden werden können, sollten diesen „Buch“-Link im Titel haben
.
Die Idee besteht darin, den Benutzern schnelle zusammenfassende Statistiken und schnelle Aktionen bereitzustellen, die sie an Spalten ausführen können. Dies kann als erstes Tool verwendet werden, das Sie ausführen, wenn Sie einen neuen Datensatz erhalten, um einen Überblick über die Daten zu erhalten, mit denen Sie arbeiten (teilweise inspiriert von Pandas-Profiling (github.com) ).

Von Zeit zu Zeit finden Sie Daten, die falsch codiert wurden und einen falschen Datentyp haben. Wenn Sie in JMP den Datentyp von „Zeichen“ in „Numerisch“ ändern, kann es aufgrund der Art und Weise, wie die Konvertierung funktioniert, leicht zu einem Datenverlust kommen. 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 den Spalten ab und prüft dann, ob sie in numerische Spalten konvertiert werden können. Und wenn alle (oder genügend 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 den 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 in JMP gefunden werden kann (für Spalten existiert dieser bereits, für Zeilen jedoch nicht). Fügen Sie die Originalauftragseigenschaft/-spalte zu JMP-Datentabellen beim Öffnen/Erstellen hinzu
Das Tool ermöglicht dem Benutzer das einfache Löschen mehrerer Spalten, die mehr als die angegebene Menge (Schwellenwert) an fehlenden Werten aufweisen.

Mit diesem Tool können Benutzer fehlende Werte basierend auf dem vorherigen/nächsten/nächsten gefundenen Wert ergänzen. 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 bei Zumindest die Gruppierungsoption, die Sie mit diesem Add-In ausführen müssen. Dies sollte auch nicht erfordern, dass Sie die Datentabelle sortiert haben, wenn Sie die Spalte „Reihenfolge“ verwenden.

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

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

Für beide habe ich Wunschlisteneinträge erstellt Ermöglichen Sie Split, Spalten mit mehreren Antworten zu erstellen Und Fügen Sie Listagg/Concatenate/GROUP_CONCAT zur Zusammenfassungsplattform hinzu Tisch.
Verbinden Sie zwei Datentabellen mit einer fortlaufenden Spalte. Kann rückwärts, vorwärts, am nächsten/am nächsten verbinden. Unterstützt die Verwendung von Toleranz/maximalem Abstand für die Verbindung und die Verwendung der Gruppierungsspalte. Die Daten müssen nicht sortiert werden, aber es beschleunigt die Ausführung des Tools. Inspiration teilweise von Python Pandas – Ab sofort zusammenführen

Ich habe einen Wunschlisteneintrag erstellt, der teilweise damit verknüpft ist Fuzzy-Join/Asof-Merge/Join nach Spalten hinzufügen, die keine exakten Übereinstimmungen haben
Die meisten Spaltensortierungsoptionen im JMP-Menü „Spalten/Spalten neu anordnen“ bieten keine Möglichkeit, nur ausgewählte Spalten anzuordnen. 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). Neuordnung der Spalten > Sortieren nach Name/Datentyp/Rolle > NUR AUSGEWÄHLTE SPALTEN
10. Ersetzen Sie X durch Y ( Ersetze-x-durch-y (github.com) )
Ersetzt vollständige Übereinstimmungen durch andere Werte in ausgewählten Spalten.

Der Zweck dieses Tools besteht darin, JMP-Benutzern die Aufteilung langer (gestapelter) Daten zu ermöglichen und Spezifikationsgrenzen direkt aus den Originaldaten festzulegen, wenn die Daten das richtige Format haben.

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

Daran wird noch sehr viel gearbeitet, aber die Idee besteht darin, 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 sehr unvollendeten Add-Ins irgendwann fertigzustellen und Fehler zu beheben, auf die ich stoße. Die aktuellsten Versionen der Add-Ins finden Sie auf GitHub.
Laden Sie es gerne von Fill Missing Cells herunter, 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 dem Datentabellen-Tools-Add-in . Das Add-In, das ich geschrieben habe, bietet einige zusätzliche Vorteile, z. B. das Gruppieren von Spalten und erfordert nicht, dass Sie die Datentabelle sortieren müssen, WENN Sie eine Spalte zum Sortieren haben (wenn keine Sortierspalte bereitgestellt wird, wird die Zeilenreihenfolge verwendet).
Quickly convert browser copy to JSL code with EmEditor's replacement feature
CURL (CMD) is copied from the browser F12 and quickly converted to JSL code with the EmEditor replacement function.
Of course, this process should also be implemented with JSL.

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(Not finishing)
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>