使用 JSL 获取第一个选定行上给定列的值我试图简单地从第一个选定行的给定列中获取值 - 但不知何故,这非常困难。这是我到目前为止所拥有的:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3);
selRow = ( dt << get selected rows() )[0];
Row() = selRow;
site = :Site; // returns "1", should return "5" (:Site from row 15)
我预计“site”最终会是 5,但最终却是 1。我在这里缺少什么?
另请注意,我在具有 33M 行的表上尝试类似的操作,JMP 在几分钟内没有响应。我正在尝试不同的方法来执行此操作,因此我可能无意中要求它首先创建 33M 项的列表,然后获取第 14M 项。我希望我最终对上述问题提出的任何解决方案都不会这样做。
自动化和脚本编写回复:使用 JSL 从第一个选定行上的给定列获取值您只需引用 Get RowsWhere 矩阵中的第一个 [1] 元素
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3 );
site = :site[(dt << get selected rows())[1]];
// or
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
site = :Site[(dt << get rows where( :Wafer Number == "16" & :Die X == 3 ))[1]];
回复:使用 JSL 从第一个选定行上的给定列获取值那么数据表中的数据基本上存储为一组列,每个列都是一个条目列表?
(是的,我是一名 python 编码员,所以我错过了 [0] -> [1] 的事情......)
另外,我搜索了所有我认为可能有帮助的 JMP 文档部分,但找不到任何相关内容,即 :site[rowNumber] 符号。如果有人知道这是在哪里,我很乐意阅读文档的该部分。
谢谢,吉姆!
回复:使用 JSL 从第一个选定行上的给定列获取值数据表下标是社区中的好帖子,您可以从脚本指南中找到文档脚本编写指南 > 数据表 > 访问数据值是一个很好的起点。 它提供了指向其他页面的附加链接,其中包含更多信息
回复:使用 JSL 从第一个选定行上的给定列获取值@tx尼尔森:此方法需要一整秒的时间才能返回大型表(33M 行)中的值。桌子在其他方面表现良好,所以我认为这种方法可能会在幕后做一些严厉的事情......我可以测试其他方法吗?
--> 更新:我刚刚意识到缓慢的是“获取选定行()”调用,而不是数据访问。好奇,看来应该很快。
回复:使用 JSL 从第一个选定行上的给定列获取值我通常使用 Get RowsWhere() 而不是 SelectWhere,然后使用 Get Selected Rows。除非您需要所选行的可视化显示,否则我一直认为它更快。
回复:使用 JSL 从第一个选定行上的给定列获取值@tx尼尔森我的真正目的不是“选择位置”,而是单击与数据表 (A) 关联的一个图形生成器图中的一个点,并且我想更新与数据表关联的图形生成器图中的数据过滤器(二)。第一次单击选择行,然后 JSL 应该从第一个表的选定行中获取 id 字段,然后将该值粘贴到图形生成器 B 图上的数据过滤器中。
我今天使用 Get Selected Rows() 让它工作了(是的!),但奇怪的是,该函数在大型数据集上相对较慢。让我觉得它正在一个不可见的列中搜索所有的“1”或其他东西......
感谢您的帮助!