公式编辑器:动态使用下标函数的帮助大家好,
我正在尝试以一种通用的方式比较数据表中各行的数据。为此,我希望创建一个公式列,用于查找并返回具有特定特征的特定行中的值。
sowiakg_1-1788989884725.pngsowiakg_1-1788989884725.pngsowiakg_1-1788989884725.png
在这个示例截图中,我希望“对照结果”列是一个公式列,它返回具有匹配的“捐赠者”字段的“对照”行,并返回相应的“结果”分数。我想使用公式编辑器来实现这一点,而我能想到的最直观的从另一行返回数据的方法是使用下标。
但是,我不确定如何正确创建“i = 满足 Group 和 Condition='Control' 条件的(最低)行”的逻辑。可以使用哪个公式块(或其组合)来返回“i = 满足 X 条件的行号”?这里是否也可以使用 byVar 函数的技巧?
顺便提一下:我知道 MATCH 函数也是一个选择,但它似乎需要在每个分组中,在公式块本身中写入“控制”值(或者使用自定义的下标调用)。我正在尝试将此工作流程复制到一个更大的数据集上,因此希望尽量减少硬编码值。此外,我的许多合作者都不懂编程,所以我想避免使用 JSL;我只需要根据需要使用公式编辑器替换条件和结果字段即可。
谢谢你!
回复:公式编辑器:如何动态使用下标函数以下是我总结出的公式:
Col Cumulative Sum( If( :Condition == "Control", :Result ), :Group )
txnelson_0-1789008517877.pngtxnelson_0-1789008517877.png
回复:公式编辑器:如何动态使用下标函数JMP19 中新增了 Col At() 函数,它允许您在组内查找特定索引的值。因此,如果对照组的行始终位于测试组之前(第 3 列是结果,第 1 列是组),则可以使用该函数。
Col At(:Column 3, 1, :Column 1)
jthi_0-1789014294613.png
脚本索引中有更多示例。