<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想创建一个永久列公式,该公式将自动选择两列具有相同数据的行。 然后使用此选择在所选行的一列中查找最小值。 我知道我可以使用 for 循环和脚本来完成,是否可以将“选择匹配行”命令嵌入到列公式中?
不确定我是否理解,但您似乎在寻找变量的最小值(例如高度)经过两个分组列(例如年龄和年龄2 )。
那么你可以使用这个公式:
列最小值( :高度, :年龄, :年龄2 )
你的情况“...如果没有匹配项,则不要列出任何最小值...”我不清楚,上面的公式将始终返回最小值,因为至少会有一个“匹配项”,即行本身。如果只出现一次以下的组合,则下面的公式应返回一个缺失值而不是“最小值”年龄和年龄2。
如果(列号( :高度, :年龄, :年龄2 ) > 1 ,
列最小值( :高度, :年龄, :年龄2 )
)
拜伦,
不完全的。 我需要知道两组何时匹配:示例:
在第 1 行 - Age = 12, Age2 =13 中,向我显示同一行中 Age =12 & Age2 =13 的任何其他行,这可能在表中出现 20 次,因此在这 20 次中,选择列至少从那 20 行开始。
现在转到第 2 行并对其值进行相同的比较,如果没有匹配项,则不要列出任何最小值。
你想做这样的事情吗?
在这种情况下,当 :age=:age2 时,我会得到一个指示变量。使用 col minimum() 我可以获得最小高度,按年龄,按指标(但仅当指标不丢失时)
(运行此脚本并查看表格的公式)
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << 新列(“年龄 2”,
数字,
“连续”,
格式(“最佳”,12),
设定值(
[14, 12, 13, 13, 13, 14, 12, 15, 13, 12, 14, 14, 13, 15, 14, 12, 14, 15, 13, 13, 14, 15,
15, 15, 14, 15, 12, 15, 15, 15, 14, 13, 15, 15, 14, 15, 12, 14, 13, 13]
)
);
dt << 新列(“年龄 == 年龄 2”,
数字,
"名义",
格式(“最佳”,12),
公式( 如果( :age == :age 2, 1, . ) ),
设置选定
);
dt << New Column("年龄=年龄2的最低身高",
数字,
"名义",
格式(“最佳”,12),
公式(
如果(缺少(:名称(“年龄==年龄2”))==0,
Col 最小值( :height, :age, :Name( "age == age 2" ) ),
.
)
)
);