在 JMP 数据表中查找值的一种快速方法是使用应用于具有 IF 语句的列的公式,以查找列中的特定行或特定数据单元格,您可以在列后使用下标姓名。
然而,当 If 子句很长或很复杂时,这种方法可能会很乏味。
与 Excel 中的 VLookup 函数类似,我们可以使用 JMP 应用相同的技术。
我们通过创建公式或在公式编辑器中粘贴 JSL 脚本来完成此操作。
在我的示例中,使用 JMP 的“帮助”菜单中提供的糖果棒样本数据,我有一个以克为单位的脂肪测量值列表,并且想要查找然后计算,然后将它们指定为从“无脂肪”到“高脂肪”的范围。
请随意打开此示例数据并通过暂停视频与我一起工作。 该视频下方还链接了一个支持相关的博客文章。

因此,打开此数据表后,我将通过双击空白标题来创建一个新列。
我将通过再次双击列标题将其重命名为“Fat Type”。
从“列信息”中,我将选择“字符”,因为我将使用文本字符串。
然后,我将添加一个公式来查找一系列值并根据该值分配一个类别。
从“文件”菜单中打开一个新的脚本窗口。
在 JMP 中,列表指定为左花括号和右花括号 {},列表中的项目以逗号分隔。
输入脂肪类型列表,如下所示:
{“无脂肪”、“有些脂肪”、“低脂肪”、“正常脂肪”、“中脂肪”、“高脂肪”}
JMP 有一个方便的函数,可以在称为 Loc 的矩阵中查找值。它有两个参数 x 和 y。
在我们的示例中,x 将是要查找的值矩阵,y 将是我们要用来查找来自矩阵的值的列。
在 JMP 中,矩阵指定为左方括号和右方括号 [ ],矩阵中的元素以逗号分隔。
接下来,我将添加要用来查找值的总脂肪矩阵(以克为单位)。
我将输入 [0,1,5,10,20,25]
未叙述
有关 loc 函数的详细信息,请参阅《JMP 脚本编写指南》第 187 页,有关 loc 排序函数的详细信息,请参阅第 188 页。)
现在我们将其添加到 Loc 排序函数中,如下所示
未叙述
loc Sorted([0,1,5,10,20,25],:总脂肪g)
为了返回查找列中每行找到的值并将其写入“Fat Type”列,我们使用行下标函数。
只需将 loc 排序函数括在方括号“[”内,并以右括号“]”结尾,如下所示。
[Loc Sorted([0, 1, 5, 10, 20, 25], :总脂肪g)]
这是您可以复制的完整脚本。
未叙述
{“无脂肪”、“有脂肪”、“低脂肪”、“正常脂肪”、“中脂肪”、“高脂肪”}[Loc Sorted([0, 1, 5, 10, 20, 25], :总脂肪g)]
在公式编辑器中,粘贴完整脚本并单击“应用”。
这是我们的新列,可查找总脂肪测量值列并将其组织为六个范围。
现在,您可以通过使用下面链接的数据表或您自己的数据更改矩阵值来自行实现,并享受使用 JMP 的乐趣。
链接
JMP 中的查找表- http://blogs.sas.com/content/jmp/2014/04/02/lookup-tables-in-jmp/