左から右に移動する行レベルで時間の経過に伴う変化にアクセスするための数式を探しています。最初の読み取り値から次の読み取り値までのパーセント シフトを評価し、その後、最初の読み取り値と前の読み取り値に対して後続のすべての読み取り値を評価して、時間の経過に伴うシフトにアクセスします。20% 以上の下方シフトがある場合は、結果列に 1 を示します。
これは、最初のパーセント シフトを見つけ、残りのすべての列を調べて値を見つけ、初期値からのパーセント変更を実行し、それが 20% を超える負の変更である場合は結果を 1 に設定する数式です。
これはまさにあなたが探しているものではないと思います。「そして、シフト残業にアクセスするために、最初の読み取りと前の読み取りに対して、後続のすべての読み取りを評価する」が正確に何を意味するのか理解できません。私のコードを調べて、それが何をしているのかを確認し、それを変更して本当に必要なことを実行できるかどうかを確認してください。そうでない場合は、私の JSL についての説明や質問とともに返信してください。
As Constant( dt = Current Data Table() );
theMatrix = dt[Row(), Index( 2, 23 )];
start = Loc( theMatrix )[1] + 1;
startVal = dt[Row(), start];
firstChange = .;
currentChange = .;
firstValue = .;
For( i = start, i <= 22, i++,
If(
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstValue ) == 1, firstValue = dt[Row(), i],
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstChange ) == 1,
firstChange = (dt[Row(), i] - firstValue) / firstValue,
Is Missing( dt[Row(), i] ) == 0 & Is Missing( firstChange ) == 0,
currentChange = (dt[Row(), i] - firstValue) / firstValue;
If( currentChange < -0.2,
currentChange = 1;
break(),
currentChange = .
);
)
);
currentChange;