JMP-Tools 插件概述 - 由 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-Tools 下的插件菜单中:

还有一个工具栏插件。 这可以从“main-repositorys”发布页面找到。 如果您安装了此处描述的(全部/大多数)插件,则非常有用。

下面是我创建的插件的快速概述,请注意,有一对夫妇正在进行大量工作。 可以从社区找到的脚本应该在标题中有这个“书”链接
.
想法是为用户提供快速汇总统计信息和他们可以在列上执行的快速操作。 这可以用作您在获得新数据集时运行的第一个工具,以获取您正在使用的数据的概述(部分灵感来自熊猫分析(github.com) )。

有时,您会遇到编码错误且数据类型错误的数据。 在 JMP 中,当您将数据类型从字符更改为数字时,由于转换的工作方式,您可能很容易最终丢失一些数据。 此工具的目的是将选定的字符列(可以安全地转换)转换为数字列。该工具获取列中的值,然后检查它们是否可以转换为数字。 如果所有这些(或足够多的)都可以转换,它会将数据类型更改为数字。 它允许您选择要转换的列,允许使用转换阈值和采样率。

此工具将使用当前行号为数据表创建排序列。 当您开始分析并想要对数据进行排序但仍有可能回滚到原始顺序时,这很有用。 该列将在数据表的开头创建,如果创建了多个排序列,则会添加索引。

我还创建了愿望清单项目,希望可以直接从 JMP 找到一些类似的东西(对于已经存在的列,但对于行不存在)在打开/创建时将原始订单属性/列添加到 JMP 数据表
该工具允许用户轻松删除缺失值超过指定数量(阈值)的多个列。

此工具允许用户根据上一个/下一个/最近找到的值填充缺失值。已经有工具可以以某种方式执行此操作(甚至 JMP 也有填充行),但我使用/看到的那些在至少这个加载项你要做的分组选项,如果你使用 Order 列,这也不应该要求你对数据表进行排序。

该工具的目的是为用户界面提供从选定数据表中以不同格式从选定列(名义、序数)中列出的唯一值。 从此列表中,用户可以直接将值复制粘贴到剪贴板或使用特定按钮进行复制。
工具还提供了将值直接粘贴到框并获取不同格式的值的选项。 例如,当您从 excel 复制粘贴值时,这很方便。 您还可以将剪贴板中的值直接格式化为 SQL 列表。

此插件的目的是为用户提供一种方法,以与 SQL 的 listagg 类似的方式创建具有分组值列的新表。 在最佳情况下,此选项会出现在 JMP 的摘要和拆分平台中,因为我有时希望保留一些值,即使我使用摘要进行拆分或聚合。

我已经为这两个创建了愿望清单项目允许拆分创建多个响应列和将 Listagg/Concatenate/GROUP_CONCAT 添加到汇总平台桌子。
连接两个具有连续列的数据表。 可以向后、向前、最近/最近加入。 支持使用公差/最大距离来连接和使用分组列。 不必对数据进行排序,但它确实加快了工具的执行速度。 部分灵感来自Python Pandas - 合并 Asof

我创建了与此部分链接的愿望清单项目按不完全匹配的列添加模糊连接/asof 合并/连接
从 JMP 的 Cols/Reorder Columns 菜单中找到的大多数列排序选项不提供仅对选定列进行排序的可能性。 此插件为 JMP 用户提供这些选项。

有一个与此相关的愿望清单项目(这就是我编写此插件的原因)列重新排序 > 按名称/数据类型/角色排序 > 仅选定列
10. 将 X 替换为 Y (替换-x-with-y (github.com) )
用选定列中的其他值替换完全匹配。

此工具的目的是让 JMP 用户在数据格式正确的情况下直接从原始数据拆分长(堆叠)数据并设置规格限制。

提供对用户定义脚本的快速访问的工具(为 jthi-jmp-tools 预配置)。 还提供对启动脚本、修改其 settings.json 文件和打开目录的访问权限。 还允许更改当前数据表。
Strongy 建议添加为易于访问的快捷方式,例如我的是 Ctrl+Shift+Z。 如果脚本已经打开,再次启动它会将其置于最前面。

这仍在进行中,但其想法是提供用户指定目录的文件列表并允许打开文件/目录。

现在就是这样,我会尝试在某个时候完成仍然严重未完成的加载项并修复我遇到的错误。 可以在 GitHub 上找到大多数最新版本的加载项。
数据表脚本视窗回复:JMP-Tools 插件概述 - jthi 编写的 JMP 插件5号!!!!!!!回复: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 来实现。

卷曲(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>
回复:JMP-Tools 插件概述 - jthi 编写的 JMP 插件是的,自动将所有 VBA 转换为 JSL 工作量太大。不现实。
我想看看VBA关于从网页下载数据是否可以自动将核心语法转换为JSL并保留VBA使用的变量。
谢谢jthi!