我最近没有看到任何关于 Pi Importer 选项的帖子。这应该是 18 中的升级,但我在最大计数设置方面尤其挣扎。我不确定这里是否真的有问题,但我想分享我所学到的东西,想知道是否有其他人有其他见解可以在这里分享。我专注于原始数据导入,因为我们的数据结构,并试图消除任何增加的混乱层。
基础知识:最大计数的默认值为 5000,绝对最大值为 150,000。这是 JMP 将根据您给出的请求获取的最大值数。如果您选择 4 个 pi 标签并将默认值保留为 150,000,您将收到一条错误消息,表明您超出了允许的最大值(150,000 / 4 个标签 = 最大 37500)。如果某些标签来自不同的“资产”,则限制/划分可能是“按资产” - 我还没有完全弄清楚。只有描述在 JMP 帮助菜单中。应该添加这些限制/定义。
错误信息帮助我弄清楚了发生了什么,虽然这不是一个显示总点数与每个标签的点数的更集成的设置似乎很奇怪。我觉得非常令人困惑的是输出。附件是提取 4 个 Pi 标签的示例。起初我以为每个图中数据的截止值与它们在提取中出现的顺序(按字母顺序排列)或我将它们添加到导入窗口的顺序(紫色、绿色、红色、蓝色)有关,但我相信它实际上是每个标签的输出数量。蓝色和紫色的数据点较少,因此在我提取的 1 天时间范围内它们不会达到 37,500 个的最大值。我以为红色和绿色有相同的数据,但深入挖掘后发现,绿色中散布着 4000 个点,而红色中没有。这意味着绿色在时间戳中比红色更早达到 37,500 个点。我确认红色和绿色列中都有 37,500 个值,其余单元格有“缺失”数据。JMP 没有错误消息或任何迹象表明在请求的时间范围内 Pi 中有其他数据,只是没有被提取。我知道 JMP 正在提取我要求它提取的内容,但我不知道有多少数据,而且它正在施加这种任意限制。这次特定的数据提取持续了 1 天,只给了我数据表中的 42,526 行(许多时间戳只有 1 或 2 个 pi 标签结果)。当一个标签在另一个标签之前切断并且一些标签覆盖整个时间范围时,我的第一个假设是标签停止生成数据或断开连接!考虑到数据表的布局,混乱甚至更大。红色和绿色列位于输出中的蓝色和紫色之间。当我们向下滚动按时间排序的表格时,让它们在随机点停止,看起来不像是“已达到数据限制”,而是这些标签的数据已损坏。我现在明白事实并非如此。
这也意味着,当我尝试变通并提取较少量的数据以结合较长的时间范围和其他带有代码的标签时,我不知道我是否超出了限制并突然丢失了一堆数据。意识到我可以查看输出的值的数量后,我也需要将这种防错功能添加到我的代码中。
总之,如果我有一个标签每 8 小时才报告一次,还有一个标签每 1 秒有数据,我尝试将它们放在一起,使时间戳全部对齐,似乎我无法提取 150k 个总输出,而更频繁的标签将成为限制因素。我确实知道如何使用 Pi 一次导入一个并通过组合表循环它们来解决这个问题,但这很麻烦,而且我无法让许多其他用户参与进来。这个 JMP 接口有很大的潜力,但这一个部分增加了很多混乱!
我也会将其发送给技术支持,看看他们是否可以添加更多信息或将其纳入帮助信息,但想知道其他用户看到了什么!
虽然不方便,但也许您可以分别导入每个标签,然后按时间连接它们(或连接,然后按标签拆分),然后用类似这样的内容填写缺失的值:
Names Default to Here(1);
dt = Current Data Table();
rows = N Row( dt );
dtcollist=dt<<GET column="" names=""></GET>
是的,我已经开始一次提取一个标签并进行合并了。但是,JMP 18 中新增的“提取多个标签”功能应该可以让普通的 JMP 用户更轻松地提取标签,因为他们不需要编写复杂的代码——甚至可以手动使用点击选择标签的框。总的来说,比起我用过的其他提取 Pi 数据的选项,我更喜欢这个界面,但这种毫无预警的数据丢失是一个关键问题。我不应该花这么多时间去理解为什么有些标签会丢失,然后再回到更复杂、更手动的方法。我不推荐我的同事使用 JMP 来处理这个问题。