我有一个数据表,对于一系列的几个步骤,每个步骤的时间增量为 0-->n。
想知道是否有一个 bkm 脚本可以使每个步骤时间从上一步的结束时间开始。
又名:
当前:第 1 步,时间 = 0--> 7,第 2 步,时间 = 0-->12
目标:step1,time=0-->7,step2,time7-->19
建议?
列:
传感器标签 |价值 |时间 |步
抱歉沟通不畅。
我的意思是:
我正在尝试在与最大或最小步长时间对应的 x 轴上的轴标签中编写脚本。 我试图弄清楚总结脚本或分配变量 = colMax(逐步)但无法使语法正常工作。
关于您的第一个问题,您对步骤之间增量的要求是
目标:step1,time=0-->7,step2,time7-->19
请注意,时间值与第一步中的最后一个值以及第二步中的第一次相同。
如果你想在步骤之间增加,只需将加法器值更改为所需的任何额外增量
adder = :time[Row() - 1] + 1
当你说“时,我不明白你在问什么在脚本中添加 x 轴标记以标记轨迹块”。
最后,所有功能,如 Lag() 都记录在脚本索引中,可在帮助下拉菜单下找到。
这很好用! 我注意到一个小问题。在步长变化的时间增量处,它是重复时间值,而不是递增。 我仍在尝试了解 LAG 函数。 有小费吗?

最后,关于在脚本中添加 x 轴标记以标记轨迹块的任何提示?
我可以根据 step# 为局部最小值/最大值创建新列,但不确定如何将其编写到轴标签中。


这是一个示例数据表和一个简单的脚本,它将在步骤更改时调整时间。该脚本首先显示数据表 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;
);