JMP-ツールアドインの概要-jthiによって作成されたJMPアドインJMP用に作成したアドインのいくつかを公開しました。 コードとアドイン(一部は暗号化されています)は、このGitHubページから見つけることができますjthi-jmp-tools(github.com)と概要はから見つけることができますjthi-jmp-tools / JMP-Tools(github.com)リポジトリ。 これらのアドインに関する提案がある場合は、次のことができます。
- この投稿へのコメント
- そのアドインまたは一般的なアドインに関連する正しいGitHubリポジトリで問題を開きます
- ここでアドインをリリースした場合は、JMPコミュニティアドインページにコメントしてください
- JMPコミュニティでプライベートメッセージを送信する
これらを開発する目的は、新しいツールを提供し、JMPがすでに持っているツールを強化し、やや興味深いコードを記述しながら、ほとんどの場合、スクリプトスキルを向上させることです。 すべてのアドインはから見つけることができますjthi-jmp-tools / JMP-Tools /releases(github.com)そこからダウンロードしてインストールできるはずです。 一部はJMPコミュニティからも見つけることができます。 アドインには、正しいスクリプトを含めたり、コードにコピーしたりすることで、独自のスクリプトで使用できるスタンドアロン関数がいくつか含まれています。そのため、興味がある場合は、ソースコードを確認することをお勧めします。
アドインは、私がずっと前にそれらを構造化する方法について持っていたいくつかの基本的な考えで構造化されているので、それらはほとんど同じディレクトリ構造といくつかの共通ファイルを持っています。 たとえば、保存できるいくつかの設定は、settings.jsonファイルに保存されています。 アドインは、を使用してまとめられますアドインマネージャー複数のアドインの管理が、JMPが提供するネイティブツールよりもはるかに簡単になるためです。
ほとんどのアドインは、JMPツールの[アドイン]メニューに追加されます。

ツールバー用のアドインもあります。 これは、「メインリポジトリ」リリースページから見つけることができます。 ここで説明する(すべて/ほとんどの)アドインをインストールした場合に最も役立ちます。

以下は、私が作成したアドインの概要です。進行中の作業が多いカップルがあることに注意してください。 コミュニティから見つけられるスクリプトには、タイトルにこの「本」リンクが含まれている必要があります
。
アイデアは、ユーザーが列に対して実行できる簡単な要約統計量と簡単なアクションを提供することです。 これは、新しいデータセットを取得するときに実行した最初のツールとして使用して、使用しているデータの概要を取得できます(部分的にパンダ-プロファイリング(github.com) )。

時々、あなたは間違ってコード化され、間違ったデータ型を持っているデータになります。 JMPでは、データ型を文字から数値に変更すると、変換の仕組みが原因で、かなり簡単に一部のデータが失われる可能性があります。 このツールの目的は、選択した文字列(安全に変換できる)を数値列に変換することです。このツールは、列の値を取得して、数値に変換できるかどうかを確認します。 そして、それらすべて(または十分な数)を変換できる場合は、データ型が数値に変更されます。 変換する列を選択でき、変換とサンプリングレートのしきい値を使用できます。

このツールは、現在の行番号でデータテーブルに順序付け列を作成します。 これは、分析を開始してデータを並べ替えるが、元の順序にロールバックする可能性がある場合に役立ちます。 列はデータテーブルの先頭に作成され、複数の順序付け列が作成される場合は、インデックスが追加されます。

また、JMPから直接似たようなものが見つかることを期待してウィッシュリストアイテムを作成しました(列の場合はすでに存在しますが、行の場合はありません)オープン/作成時に元の注文プロパティ/列をJMPデータテーブルに追加します
ツールを使用すると、ユーザーは、指定された量(しきい値)を超える欠落値を持つ複数の列を簡単に削除できます。

このツールを使用すると、ユーザーは前/次/最も近い検出値に基づいて欠落している値を埋めることができます。これを何らかの方法で行うことができるツールはすでに存在します(JMPにも塗りつぶし行があります)が、私が使用/見たものは少なくとも、このアドインで行うグループ化オプションです。また、[注文]列を使用する場合は、データテーブルを並べ替える必要はありません。

このツールの目的は、選択したデータテーブルとは異なる形式で、選択した列(名目、序数)からリストされた一意の値をユーザーインターフェイスに提供することです。 このリストから、ユーザーは値を直接コピーしてクリップボードに貼り付けるか、特定のボタンを使用してコピーすることができます。
ツールには、値をボックスに直接貼り付けて、さまざまな形式で値を取得するオプションもあります。 これは、たとえばExcelから貼り付け値をコピーする場合に便利です。 クリップボードからSQLリストに直接値をフォーマットすることもできます。

このアドインの目的は、SQLのlistaggと同様の方法で、グループ化された値の列を持つ新しいテーブルをユーザーが作成する方法を提供することです。 最良の場合、このオプションはJMPのSummaryおよびSplitプラットフォームにあります。これは、Summaryで分割または集計した場合でも、いくつかの値を保持したい場合があるためです。

両方のウィッシュリストアイテムを作成しましたSplitが複数の応答列を作成できるようにするとListagg / Concatenate/GROUP_CONCATをSummaryプラットフォームに追加しますテーブル。
連続列で2つのデータテーブルを結合します。 後方、前方、最も近い/最も近い結合を行うことができます。 結合の許容値/最大距離の使用とグループ化列の使用をサポートします。 データを並べ替える必要はありませんが、ツールの実行が高速化されます。 部分的にからのインスピレーションPythonパンダ-マージアソフ

これに部分的にリンクされているウィッシュリストアイテムを作成しました完全に一致しない列によるファジー結合/現在のマージ/結合を追加します
JMPの[列/列の並べ替え]メニューにあるほとんどの列の順序付けオプションでは、選択した列のみを並べ替えることはできません。 このアドインは、これらのオプションをJMPユーザーに提供します。

これに関連するウィッシュリストアイテムがあります(そしてそれが私がこのアドインを書いた理由です)列の並べ替え>名前/データ型/役割で並べ替え>選択した列のみ
10. XをYに置き換えます( replace-x-with-y(github.com) )。
選択した列の他の値と完全一致を置き換えます。

このツールの目的は、JMPユーザーが長い(スタックされた)データを分割し、データが正しい形式である場合に元のデータから直接仕様制限を設定できるようにすることです。

ユーザー定義のスクリプト(jthi-jmp-tools用に事前構成されている)へのクイックアクセスを提供するツール。 スクリプトの起動、settings.jsonファイルの変更、ディレクトリのオープンへのアクセスも提供します。 現在のデータテーブルを変更することもできます。
簡単にアクセスできるショートカットとして追加することを強くお勧めします。たとえば、私の場合はCtrl + Shift+Zです。 スクリプトがすでに開いている場合は、スクリプトを再度起動すると、スクリプトが前面に表示されます。

これはまだ非常に進行中の作業ですが、アイデアは、ユーザーが指定したディレクトリのファイルリストを提供し、ファイル/ディレクトリを開くことができるようにすることです。

今のところは以上です。まだ完成していないアドインをいつか完成させて、遭遇したバグを修正しようと思います。 アドインの最新バージョンのほとんどはGitHubにあります。
データ表スクリプティングウィンドウズRe:JMP-ツールアドインの概要-jthiによって作成されたJMPアドインNo. 5 !!!!!!Re:JMP-ツールアドインの概要-jthiによって作成されたJMPアドインからお気軽にダウンロードしてください不足しているセルを埋めるアドインをインストールして試してみてください。
いくつかの同様のことは、Fillを使用してJMPで直接実行できます。

とデータテーブルツールアドイン。 私が書いたアドインには、列のグループ化や、並べ替え用の列がある場合にデータテーブルを並べ替える必要がないなど、いくつかの追加の利点があります(並べ替え列が提供されていない場合は、行の順序が使用されます)。
Re:JMP-ツールアドインの概要-jthiによって作成されたJMPアドイン非常に多くの効率的なツールを提供してくれたJTHIに感謝します。
ExcelのVBAをJSLにすばやく変更できるプラグインを作成することは可能ですか?
ありがとう!
Re:JMP-ツールアドインの概要-jthiによって作成されたJMPアドインVBAは非常に多くのことを実行でき、非常に多くの異なる方法で記述できるため、「単純な」アドインを使用してVBAを直接JSLに変換することは不可能だと思います。 変換は、いくつかの単純なケースで実行できる場合がありますが、それ以外の場合は、ケースバイケースで実行する必要があります。 JMPを使用して、Run Program()を使用してExcelマクロを実行することもできます。
Re:JMP-ツールアドインの概要-jthiによって作成されたJMPアドインEmEditorの置換機能を使用して、ブラウザーのコピーをJSLコードにすばやく変換します
CURL(CMD)はブラウザF12からコピーされ、EmEditor置換機能を使用してJSLコードにすばやく変換されます。
もちろん、このプロセスは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(終わっていない)。
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>
Re:JMP-ツールアドインの概要-jthiによって作成されたJMPアドインはい、すべてのVBAを自動的にJSLに変換するには手間がかかりすぎます。現実的ではありません。
Webページからのデータのダウンロードに関するVBAが、コア構文をJSLに自動的に変換し、VBAで使用される変数を保持できるかどうかを確認したいと思います。
jthiに感謝します!