检测到数据列的循环<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好
我正在制作一个需要一些“循环反馈”的模型,它给了我这个错误:

你知道如何绕过它吗?
我在 Excel 中使用相同的公式没有遇到此问题
谢谢你,
-何塞
更新:
我能够让它运行,但它当时只会执行一行上的公式。
我附上表格脚本以供参考。
您将看到两列相互依赖。
n*Zr*S(ti) = 一天开始时的土壤饱和度
n*Zr*S(ti-) = 当天结束时的土壤饱和度
那么对于n*Zr*S(ti),我需要的值n*Zr*S(ti-)前一天[每一天都是一行]。
我遇到的问题现在是:每次我在公式编辑器中点击“应用”时n*Zr*S(ti-) [或n*Zr*S(ti) ] ,我收到“检测到周期”错误,然后按“忽略所有周期”,然后公式对所有列运行,直到n*Zr*S(ti)柱子。 如果我重复此过程,JMP 会计算n*Zr*S(ti),以及n*Zr*S(ti-),自动计算[因为第二天需要 n*Zr*S(ti)] n*Zr*S(ti-)。
有没有办法告诉 JMP“如果此单元格尚未计算,同时使用此其他值”,然后“如果其他单元格有值,则更新此其他值”?
任何帮助将不胜感激。
-何塞·L
回复:检测到数据列的循环JL,
这是打开“Big Class”示例数据表的脚本,我在上面的示例中使用它来创建新列及其用于确定众数的公式。我希望这可以解决有关如何使我提供的内容为您服务的任何困惑。
名称默认为此处( 1 ) ;
dt =打开( “$SAMPLE_DATA\Big Class.jmp” ) ;
dt <<新专栏(
“模式” ,
公式(
如果(排() == 1 ,
总结(数数=数数( :年龄) ,按组=经过( :年龄) )
) ;
数量(按组[洛克(作为列表(数数) ,最大限度(数数) )] ) ;
)
)
;
回复:检测到数据列的循环嗨,吉姆
我尝试了这个方法,但没有成功。
不过我了解了模式^_^
-JL
回复:检测到数据列的循环当表包含多个公式列时,JMP 会查看每一列以了解哪些其他列需要提前评估。该对话框意味着 JMP 无法确定需要首先评估哪一列。
我希望特克斯尼尔森答案有帮助。如果没有,也许您可以删除其中一列对另一列的依赖关系。如果这不起作用,您可以将逻辑移至 JSL 循环中,例如
实施例1
对于每一行(
第 1 列 = <第 1 列公式>
第 2 列 = <第 2 列公式>
)
或者
实施例2
对于每一行(
第 1 列 = <第 1 列公式>
)
对于每一行(
第 2 列 = <第 2 列公式>
)
第一个示例假设可以计算column2,而无需计算column1 的未来行。
第二个示例表示 JMP 执行的排序,确定应首先评估哪一列。第 1 列的所有行都可用于第 2 列计算。
回复:检测到数据列的循环如果您愿意使用不同的公式,这里有一个计算名为 :Age 的列的简单众数的公式
If(Row() == 1, Summarize(count = Count(:age), bygroup = by(:age))); Num(bygroup[Loc(作为列表(计数), 最大(计数))])