一連のいくつかのステップの各ステップで0-> nの時間増分を持つデータテーブルがあります。
各ステップ時間を前のステップの終了時間に開始するスクリプトを作成するbkmがあるかどうか疑問に思います。
別名:
現在:step1、time = 0-> 7、step2、time = 0-> 12
目標:step1、time = 0-> 7、step2、time7-> 19
助言?
列:
センサーラベル|値|時間|ステップ
これは、サンプルのデータテーブルと、ステップが変更される時間を調整する簡単なスクリプトです。スクリプトは最初にデータテーブルを10秒間表示するので、元のテーブルがどのように見えるかを確認できます。次に、小さなスクリプトを実行して時間値を調整します。
Names Default To Here( 1 );
dt = New Table( "example",
Add Rows( 42 ),
New Column( "time",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
)
),
New Column( "Step",
Character,
"Nominal",
Set Values(
{"Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3"}
)
)
);
wait(10);
For Each Row(
If( Row() == 1,
adder = 0,
If( Lag( :step ) != :step,
adder = :time[Row() - 1]
)
);
:time = :time + adder;
);これはうまくいきます! 私はほんの小さな問題に気づいています。ステップが変化する時間増分では、増分ではなく時間値を繰り返しています。 私はまだLAG機能を理解しようとしています。 任意のヒント?

最後に、トレースのブロックにラベルを付けるためにスクリプトにx軸マーカーを追加するためのヒントはありますか?
ステップ番号に基づいてローカル最小/最大の新しい列を作成できますが、それを軸ラベルにスクリプト化する方法がわかりません。

