检查输入字符串中的晶片是否包含在数据表中我有一个来自下面的输入字符串:
For( i = 1, i <= N Rows( dtWaferIDList ), i++,
tempi = Column( dtWaferIDList, 1 )[i];
InputString = If( i == 1, "'", "" ) || InputString || tempi || If( i < N Rows( dtWaferIDList ), "','", "'" );
);
还有一个我从数据库中提取的 table1。 我想检查一下(在表 1 的 Wafer 列中)输入字符串中的所有晶圆是否都包含在该列中。
- 如果所有晶圆都有数据:显示消息 =“所有可用晶圆的数据”。
- 如果不是:显示消息 =“无可用数据”。
谢谢!
数据表脚本编写回复:检查输入字符串中的晶片是否包含在数据表中您最有可能使用关联数组进行此比较关联数组的应用. 检查零件比较两个不同数据表中的列
回复:检查输入字符串中的晶片是否包含在数据表中@jthi为您指明了正确的方向。您建议的方法是使用很长的文字字符串。我建议您使用关联数组或 JMP 列表。
下面是一个简单的脚本,它打开一个包含晶片的数据表。然后它创建一个数据表,其中包含一组随机的晶圆。最后,它检查随机集是否包含第一个数据表中的所有晶片。
names default to here(1);
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
unique wafers = associative array(dt:Wafer);
// Create a random wafer table and see if it contains all wafers
dtRand = new table("Random",
add rows(60),
new column("Rand Wafer", set each value(random integer(1,24)));
);
random wafers = associative array(dtRand:Rand wafer);
Random wafers << Intersect( unique wafers );
if(n items(Random wafers) == n items( unique wafers),
msg = "data for all wafers available",
msg = "no data available"
);
new window("Message", <<MODAL></MODAL>回复:检查输入字符串中的晶片是否包含在数据表中你好纳尔逊,
我感谢您的帮助! 我对 JMP 还是有点陌生,根本没有使用过关联数组。 我已经在脚本指南和索引中阅读了它;但我仍然有些困惑。 这是我在代码中所处的位置:(直接在从数据库中打开表 WaferRgDt 之后)
unique wafers = Associative Array( WaferRgDt:Wafer );
given wafers = Associative Array( dtWaferIDList:WaferList );
intersection = unique wafers; intersection << Intersect( given wafers); //intersection between arrays
//uncommmon2 represents wafers that have no data associated with it.
uncommon2 = given wafers; uncommon2 <<REMOVE></REMOVE>
当我运行它时,我得到一个带有句点的空消息框......所以似乎仍然有问题。 想知道它是逻辑问题还是语法问题。 如果可能的话,我在寻找如何在消息框中写入密钥时遇到了一些麻烦。 希望这已经足够清楚了。 再次感谢!
回复:检查输入字符串中的晶片是否包含在数据表中还使用这个讨论帖子来帮助编写上面的代码:
https://community.jmp.com/t5/Discussions/Quick-way-to-compare-two-lists-and-identify-the-uncommon/td-p/5811回复:检查输入字符串中的晶片是否包含在数据表中要将字符串列表转换为字符串,您可以使用 Concat Items()
Names Default To Here(1);
aa = Associative Array({"bun",
"shoe",
"tree",
"door"}
);
uniqKeys = aa << get keys;
Show(uniqKeys);
Show(Concat Items(uniqKeys, ", "));