データ列でサイクルが検出されました<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは皆さん
「ループフィードバック」を必要とするモデルを作成しているのですが、次のエラーが発生します。

それを回避する方法を知っていますか?
同じ数式を使用する Excel ではこの問題は発生しません
ありがとう、
-ホセ
アップデート:
実行することはできましたが、一度に 1 行の数式しか実行されません。
参考までにテーブルスクリプトを添付します。
2 つの列が相互に依存していることがわかります。
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
Re: データ列でサイクルが検出されましたJL、
これは、「Big Class」サンプル データ テーブルを開くスクリプトです。上記の例で新しい列を作成するために使用し、モードを決定するための式を作成しました。私が提供したものをどのように機能させるかについての混乱がこれで解決されることを願っています。
デフォルトの名前はここにあります( 1 ) ;
dt =開ける( 「$SAMPLE_DATA\Big Class.jmp」 ) ;
dt <<新しい列(
"モード" 、
式(
もし(行() == 1 、
要約する(カウント=カウント( :年) 、グループ別=による( :年) )
) ;
番号(グループ別[ロック(リストとして(カウント) 、マックス(カウント) )] ) ;
)
)
;
Re: データ列でサイクルが検出されましたこんにちは、ジム
この方法を試しましたが、うまくいきませんでした。
モードについては知りましたが^_^
-JL
Re: データ列でサイクルが検出されましたテーブルに複数の式列が含まれている場合、JMP は各列を調べて、他のどの列を事前に評価する必要があるかを確認します。このダイアログは、JMP がどの列を最初に評価する必要があるかを認識できなかったことを意味します。
願っていますテキネルソン答えは役に立ちます。そうでない場合は、列の 1 つと他の列の依存関係を削除できる可能性があります。それが機能しない場合は、次のようにロジックを JSL ループに移動できます。
例1
ForEachRow(
列 1 = <列 1 の式>
列 2 = <列 2 の式>
)
または
例 2
ForEachRow(
列 1 = <列 1 の式>
)
ForEachRow(
列 2 = <列 2 の式>
)
最初の例では、column1 の今後の行がすでに計算されていなくても、column2 を評価できると想定しています。
2 番目の例は、JMP が行う順序付けを表し、どの列を最初に評価するかを決定します。列 1 の行はすべて列 2 の計算に使用できます。
Re: データ列でサイクルが検出されました別の数式を使用する場合は、「:Age」という列の単純モードを計算するための数式を次に示します。
If(Row() == 1, Summarize(count = Count(:age), bygroup = by(:age))); Num(bygroup[Loc(As List(count), Max(count))])