列ではなく行で計算私はこの問題に何度か遭遇しました。通常、各行が新しい観測値であるような時系列計算を実行するとき。
問題は、JMPが計算サイクルについて、つまり、列Aの式が列Bに依存し、列Bの式が列Aに依存している場合に発生することです。
しかし、私が気にするケースでは。A列の式は、その行のB列のセルによって異なります。上に B列の式は、その行のA列のセルによって異なります。上に 。だから、計算サイクルはありません 。
私が意味するものの例を添付しました。関連する列は、第2巻とコンクです。
私が考え出した唯一の回避策は、一度に1行ずつ、すべての計算をスクリプト化することです。しかし、これは小さな問題のように見えるものを解決するための非常に大きなタスクかもしれません。
スクリプトを記述しなくてもデータテーブルでこれを実行できる方法はありますか。
そうでなければ、本当にあるはずです!
再:列ではなく行で計算お返事ありがとうございます。
私はあなたが前に何度か提案した解決策を使いました。それに関する2つの主な問題はそれです:
- スクリプトをやり取りすることは、式エディタに読みやすい形式で表示される一連の式よりもはるかに困難です。
- 多くの場合、データテーブルは時間の経過とともに進化します。私は簡単な計算のスクリプト作成を始めません。スクリプトを作成することがより良いアプローチであると私が思うまでには、すべてのスクリプトを作成することは非常に大きな作業になるかもしれません。
さらに、私がやろうとしている計算自体はそれほど複雑ではありません。本当の問題は私がJMPにそれが本当にするように設計されていなかったことをやらせようとしているということであるように思えます。それは私が見つけた最後の分野ですExcelはまだJMPを超えて利点がある...
2つの回避策が提案されています。1つの列で計算を実行するか、計算をスクリプト化するというものです。両方とも、私が既に知っていて使用しているものです。私はJMPのいくつかの機能を見落としていたことを願いましたではないまったく回避策をとるように私に要求します。その機能は存在しないようです。それは本当に本当ですか?
再:列ではなく行で計算式をスクリプト化するのはとても簡単です。添付の表をご覧ください。数式を削除してスクリプトを添付しました。
さらに行を追加することも、再計算が必要なときはいつでもテーブルスクリプトをクリックするか(Run JMP 13)、Run Scriptを選択することもできます(以前のバージョンのJMP)。
簡単なコードを表示するには、右クリックするかスクリプトの編集を選択します。 私にとっては、このスクリプトは読みやすく管理しやすいものです。相互依存する式が10列ある場合は、10列式を変更するよりもスクリプトを変更する方が簡単です。
再:列ではなく行で計算上記の私の返事を見てください。
私はあなたの解決策を使用しました。しかし、これが実際的ではない場合や、中間の計算ステップを1つの列に隠す必要がある場合がいくつかあります。
それで、あなたの質問に答えるために、私はそれを試みました、そして、それはある問題を解決することができます、しかしそれは私の全体的な問題を解決しません。
私が探しているのは、列ごとではなく行ごとにテーブルで計算を行う方法です。あるいは、少なくとも式の列が互いに依存しているが個々のセルが依存していない場合にJMPに計算を実行させる方法です。エラーメッセージを含まない方法です。
再:列ではなく行で計算残念ながら違います。
添付の例は少し単純すぎますが、私のテーブルには数十の数式列と数千の行が含まれている場合があります。
多くの異なる行が、検出された計算サイクルによって異なります。そして、サイクル自体は3つ以上の列を含むかもしれません。
私の問題は、計算がエラーメッセージによって中断されることです。式を数回再実行してサイクル警告を受け取ることで計算を実行できる場合がありますが、もっと複雑な例ではエラーメッセージを何度も受け取ることが必要になる場合があります。それでも、すべての列が正しいことを確認するために式を何度も再実行する必要があるかもしれません。
それで私が探しているのは、エラーメッセージなしで、そして(多くの)スクリプトを書く必要なしで、データテーブルで計算を実行する方法です。
再:列ではなく行で計算これはあなたのために働きますか?Conc列を使用して直接計算します。

再:列ではなく行で計算数式を使って新しい列を作成したら、数式を削除して静的な計算値をそのままにしておくと便利ですか。
dt:Volume 2 << delete formula;
dt:Conc << delete formula;