Ecco il semplice script che crea una nuova colonna con una formula che calcola la durata dall'inizio di ogni batch

names default to here( 1 );
dt = Current Data Table();
dt << New Column( "Duration",
Format( ":day:hr:m:s", 21, 3 ),
formula(
If( Row() == 1 | :Batch != Lag( :Batch ),
start = :Timestamp
);
:Timestamp - start;
)
);
Ciao a tutti,
Ho iniziato a utilizzare JSL e attualmente sono a livello principiante.
I miei dati sono costituiti da dati batch di serie temporali per diverse variabili di processo. Ogni batch ha un intervallo / tempo di elaborazione di serie temporali diverso. La risoluzione dei dati è di 1 ora.

Innanzitutto, voglio convertire l'ora di inizio batch (in tempo reale) in tempo di durata a partire dal punto zero (0) e quindi accumulare fino alla fine in tempo reale. Penso di riuscire a farlo usando uno script che ho trovato online. Tuttavia, questo funziona solo per il primo lotto.
Per il secondo batch, la conversione in tempo reale in tempo di durata non inizia al punto zero.
Domanda: come posso creare / modificare lo script, in modo che tenga conto di ogni ID batch e del rispettivo tempo di elaborazione?
Grazie in anticipo
SCRIPT
names default to here (1);
dt = current data table ();
dt << New Column( "Duration",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1, 0, :TimeStamp - :TimeStamp[1] ) / 60
)
);
Questa alternativa utilizza una funzione incorporata, Col Minimum (x, group).

Grazie mille Mark. Funziona molto bene. Buon Natale 