<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
ランプ関数の伝播を表す列のグループを作成しようとしています。 これを行うには、私は以下の式を使用しています。 式の構文は正しいようですが、式は665より前の行では機能しません。 何か提案、または回避策はありますか?私は疑わしいエラーをコメントしました。 JMP11を使用しています。
ありがとうございます。
//ランプ関数の伝播
dt =新しいテーブル( "数式が機能していません"、
行を追加(25000)、
新しい列( "RAMP 01"、
数値、
連続した、
式(If(Row()<601、0、If(Row()<4441、Lag(:RAMP 01、1)+ 1/3840)If(Row()<5001、1、Lag(:RAMP 01、5000) ))))
)
新しい列( "RAMP 02"、
数値、
連続した、
式(
もし(
Row()<601、:RAMP 02 [601、Empty()]、
Row()== 601、:RAMP 02 [4377、Empty()]、//この添字関数は機能していないと思われますが、構文は正しくRow(4377)には値があります。 何か案は?
Row()<665、Lag(:RAMP 02、1)+ 1/3840、
Row()<4441、Lag(:RAMP 01、64)、
Row()<5001、:RAMP 02 [4440、Empty()]、
遅れ(:RAMP 02、5000)
)
)
)
新しい列( "RAMP 03"、
数値、
連続した、
式(
もし(
Row()<601、:RAMP 03 [601、Empty()]、
Row()== 601、:RAMP 03 [4377、Empty()]、
Row()<665、Lag(:RAMP 03、1)+ 1/3840、
Row()<4441、Lag(:RAMP 02、64)、
Row()<5001、:RAMP 03 [4440、Empty()]、
遅れ(:RAMP 03、5000)
)
)
)
新しい列( "RAMP 04"、
数値、
連続した、
式(
もし(
Row()<601、:RAMP 04 [601、Empty()]、
Row()== 601、:RAMP 04 [4377、Empty()]、
Row()<665、Lag(:RAMP 04、1)+ 1/3840、
Row()<4441、Lag(:RAMP 03、64)、
Row()<5001、:RAMP 04 [4440、Empty()]、
遅れ(:RAMP 04、5000)
)
)
)
新しい列( "RAMP 05"、
数値、
連続した、
式(
もし(
Row()<601、:RAMP 05 [601、Empty()]、
Row()== 601、:RAMP 05 [4377、Empty()]、
Row()<665、Lag(:RAMP 05、1)+ 1/3840、
Row()<4441、Lag(:RAMP 04、64)、
Row()<5001、:RAMP 05 [4440、Empty()]、
遅れ(:RAMP 05、5000)
)
)
)
新しい列( "RAMP 06"、
数値、
連続した、
式(
もし(
Row()<601、:RAMP 06 [601、Empty()]、
Row()== 601、:RAMP 06 [4377、Empty()]、
Row()<665、Lag(:RAMP 06、1)+ 1/3840、
Row()<4441、Lag(:RAMP 05、64)、
Row()<5001、:RAMP 06 [4440、Empty()]、
遅れ(:RAMP 06、5000)
)
)
)
;
こんにちはMSさん、
助けてくれてありがとう。 スクリプトだけでは機能を機能させることができませんでした。 注釈付きの行を編集して別の列を参照し、それを元に戻すことで式が機能するようになりました。 それはその後働いた。
JMPは式を行順に評価し、最初の評価、たとえば行601では、行602以降のセルには(まだ)値はありません。
式を再実行することでそれができるはずです。
待つ ( 1 ) ; //最初の評価を終了させます。
dt << 数式を再実行 ;