JMP-Tools 插件概述 - 由 jthi 編寫的 JMP 插件我現在已經發布了一些為 JMP 編寫的插件。 程式碼和外掛程式(有些是加密的)可以從此 GitHub 頁面找到jthi-jmp-工具 (github.com)和概述可以從jthi-jmp-tools / JMP 工具 (github.com)儲存庫。 如果您對這些加載項有建議,您可以:
- 對此貼文發表評論
- 在正確的 GitHub 儲存庫中開啟與該加載項或通用加載項相關的問題
- 如果我在此處發布了插件,請在 JMP 社群插件頁面上發表評論
- 在 JMP 社群中發送私人訊息
開發這些工具的目的是提供新工具,增強 JMP 已有的工具,並主要提高我的腳本編寫技能,同時編寫一些有趣的程式碼。 所有插件都可以從以下位置找到jthi-jmp-tools/JMP-Tools/releases (github.com)您應該可以從那裡下載並安裝它們。 有些還可以從 JMP 社群找到。 這些插件確實包含一些獨立的功能,您可以透過包含正確的腳本/將它們複製到您的程式碼中來在您自己的腳本中使用,所以如果您對此感興趣,我建議您查看原始程式碼。
加載項的結構採用了我很久以前就如何構建它們的一些基本想法,因此它們大多具有相同的目錄結構和一些通用文件。 例如,一些可以儲存的設定已儲存到settings.json 檔案中。 加載項透過使用組合在一起外掛程式管理器因為它使管理多個插件比 JMP 提供的本機工具容易得多。
大多數插件將添加到 JMP 工具下的插件選單中:

還有一個工具列插件。 這可以從“main-repositorys”發布頁面找到。 如果您已經安裝了此處描述的(所有/大多數)插件,則非常有用。

以下是我創建的插件的快速概述,請注意,有一些工作正在進行中。 可以從社區找到的腳本的標題中應該有這個“書”鏈接
。
想法是為用戶提供快速匯總統計數據以及他們可以在列上執行的快速操作。 當您獲得新資料集時,這可以用作您運行的第一個工具,以概述您正在使用的資料(部分靈感來自pandas-profiling (github.com) )。

您有時會遇到編碼錯誤且資料類型錯誤的資料。 在 JMP 中,當您將資料類型從字元變更為數字時,由於轉換的工作原理,您可能很容易會遺失一些資料。 該工具的目的是將選定的字元列(可以安全地轉換)轉換為數字列。該工具會取得列中的值,然後檢查它們是否可以轉換為數字。 如果所有這些(或足夠多的)都可以轉換,它將把資料類型更改為數字。 它允許您選擇要轉換的列,允許使用轉換閾值和取樣率。

該工具將使用目前行號在資料表中建立排序列。 當您開始分析並想要對資料進行排序但仍然可以回滾到原始順序時,這非常有用。 該列將在資料表的開頭創建,如果建立多個排序列,則會新增索引。

我還創建了願望清單項目,希望可以直接從 JMP 找到一些類似的東西(對於列,該項目已經存在,但對於行則不存在)在開啟/建立時將原始訂單屬性/列新增至 JMP 資料表
該工具允許用戶輕鬆刪除缺失值超過指定數量(閾值)的多個列。

該工具允許用戶根據上一個/下一個/最近的找到值填充缺失值。已經有一些工具可以以某種方式執行此操作(甚至 JMP 也有填充行),但我使用/看到的工具至少在您若要執行此接程式的分組選項,而且如果您使用訂單列,則這不應該要求您對資料表進行排序。

該工具的目的是為使用者介面提供從所選資料表中以不同格式列出的所選列(名目、序數)中列出的唯一值。 從此清單中,使用者可以直接將值複製並貼上到剪貼簿或使用特定按鈕進行複製。
工具還提供了一個選項,可以將值直接貼到框中並取得不同格式的值。 例如,當您從 Excel 複製貼上值時,這很方便。 您也可以將剪貼簿中的值直接格式化為 SQL 清單。

此外掛程式的目的是為使用者提供一種方法,以與 SQL 的 listagg 類似的方式建立具有分組值列的新表。 在最好的情況下,此選項將位於 JMP 的摘要和分割平台中,因為即使我使用摘要進行分割或聚合,我有時也希望保留一些值。

我已經為這兩個項目創建了願望清單允許拆分創建多重回應列和將 Listagg/Concatenate/GROUP_CONCAT 新增至摘要平台桌子。
使用連續列連接兩個資料表。 可以向後、向前、最近/最近連接。 支援使用容差/最大距離進行連接和分組列的使用。 資料不必進行排序,但它確實可以加快工具的執行速度。 靈感部分來自Python Pandas - 合併 Asof

我創建了願望清單項目,部分連結到此新增模糊連接/asof合併/按不完全匹配的列連接
從 JMP 的「列/重新排序列」功能表中找到的大多數列排序選項不提供僅對選定列進行排序的可能性。 該插件為 JMP 用戶提供了這些選項。

有一個與此相關的願望清單項目(這就是我編寫此插件的原因)列重新排序 > 按名稱/資料類型/角色排序 > 僅所選列
10. 將 X 替換為 Y (將 x 替換為 y (github.com) )
將完全匹配替換為所選列中的其他值。

該工具的目的是讓 JMP 用戶拆分長(堆疊)數據,並在數據格式正確的情況下直接從原始數據設定規格限。

提供對使用者定義腳本的快速存取的工具(為 jthi-jmp-tools 預先配置)。 還提供啟動腳本、修改其 settings.json 檔案和開啟目錄的存取權限。 還允許更改當前數據表。
Strongy 建議添加為易於訪問的快捷方式,例如我的是 Ctrl+Shift+Z。 如果腳本已經打開,再次啟動它會將其置於前面。

這仍在進行中,但其想法是提供使用者指定目錄的檔案清單並允許開啟檔案/目錄。

現在就這樣,我將嘗試在某個時候完成尚未完成的加載項並修復我遇到的錯誤。 大多數最新版本的插件可以在 GitHub 上找到。
資料混合與清理視窗回覆:JMP-Tools 插件概述 - jthi 編寫的 JMP 插件第五名!!!!!!回覆:JMP-Tools 插件概述 - jthi 編寫的 JMP 插件請隨意從“填充缺少的單元格”下載並安裝該加載項並試用。
一些類似的事情可以直接在 JMP 中使用 Fill 完成:

並使用資料表工具插件。我編寫的插件確實有一些額外的好處,例如對列進行分組,如果您有一些要排序的列,則不需要對資料表進行排序(如果沒有提供排序列,它將使用行順序)。
回覆:JMP-Tools 插件概述 - jthi 編寫的 JMP 插件感謝JTHI提供了這麼多高效的工具。
有沒有可能製作一個可以快速將Excel的VBA轉換為JSL的插件?
謝謝!
回覆:JMP-Tools 插件概述 - jthi 編寫的 JMP 插件VBA 可以做很多事情,並且可以用很多不同的方式編寫它,因此我認為使用「簡單」插件將 VBA 直接轉換為 JSL 是不可行的。對於一些簡單的情況可以進行轉換,但否則必須根據具體情況進行轉換。您也可以使用 JMP 透過 Run Program() 來執行 Excel 巨集。
回覆:JMP-Tools 插件概述 - jthi 編寫的 JMP 插件使用 EmEditor 的替換功能快速將瀏覽器副本轉換為 JSL 程式碼
CURL(CMD)從瀏覽器F12複製並透過EmEditor取代功能快速轉換為JSL程式碼。
當然這個過程也應該用JSL來實現。

捲曲(命令)
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
編輯器
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(<SPAN>未完成</SPAN>)
<CODE class=" language-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><CODE class=" language-jsl">