Ho una tabella di dati che ha incrementi di tempo da 0-->n per ogni passaggio per una serie di diversi passaggi.
Mi chiedo se c'è un bkm nello script per far iniziare ogni passaggio all'ora di fine del passaggio precedente.
ovvero:
attualmente: step1, tempo = 0--> 7, step2, tempo = 0-->12
obiettivo: step1, tempo=0-->7, step2, tempo7-->19
Consiglio?
Colonne:
Etichetta sensore | Valore | tempo | Fare un passo
scusa per l'errore di comunicazione.
cercavo di intendere:
Sto provando a inserire le etichette degli assi sull'asse x corrispondenti al tempo massimo o minimo del passo. Sto cercando di capire lo script di riepilogo o l'assegnazione di variabili = colMax (tempo dopo passo) ma ho problemi a far funzionare la sintassi.
Per quanto riguarda il tuo primo problema, il tuo requisito per l'incremento tra i passaggi era
obiettivo: step1, tempo=0-->7, step2, tempo7-->19
Si noti che il valore temporale era lo stesso per l'ultimo valore nel primo passaggio, così come per la prima volta nel secondo passaggio.
Se si desidera incrementare tra i passaggi, è sufficiente modificare il valore del sommatore in qualunque sia l'incremento aggiuntivo desiderato
adder = :time[Row() - 1] + 1
Non capisco cosa stai chiedendo quando dici " aggiungendo i marcatori dell'asse x nello script per etichettare i blocchi della traccia ".
Infine, tutte le funzioni, come Lag(), sono documentate nello Scripting Index, disponibile nel menu a tendina Aiuto.
questo funziona alla grande! Sto notando solo un piccolo problema. all'incremento temporale in cui il passo cambia, ripete il valore temporale, anziché incrementarlo. Sto ancora cercando di capire la funzione LAG. Qualche consiglio?

Infine, qualche suggerimento per aggiungere i marcatori dell'asse x nello script per etichettare i blocchi della traccia?
Posso creare nuove colonne per min/max locale in base al passaggio #, ma non sono sicuro di come scriverlo in un'etichetta dell'asse.


Ecco una tabella di dati di esempio e un semplice script che regolerà l'ora in cui il passaggio cambia.Lo script mostra prima la tabella dei dati per 10 secondi, così puoi vedere come appare la tabella originale, quindi va avanti ed esegue il piccolo script per regolare i valori temporali.
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;
);