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