Ho un grande set di dati in cui il ciclo cambia nel tempo. Vorrei creare una colonna che abbia un indice di 1 all'inizio di ogni ciclo e continui a contare fino all'inizio del ciclo successivo, quindi i conteggi ricominciano da 0. Ho provato a utilizzare le funzioni di conteggio e sequenza mostrate di seguito, ma mi imbatto in problemi quando il mio secondo ciclo ha più valori del mio primo ciclo (vedi il diagramma sotto dove l'osservazione del ciclo è il valore che voglio che la formula produca e la colonna 109 è ciò che è prodotto dalla sceneggiatura.)
dt << Nuova colonna("Osservazione del ciclo", Numerico, Formula (If(
:Ciclo == 1, Sequenza( 0, 1080, 1 ),
:Ciclo == 2, Sequenza( 0, 1439, 1 ),
:Ciclo == 3, Sequenza( 0, 360, 1 ),
:Ciclo == 4, Sequenza( 0, 360, 1 ),
:Ciclo == 5, Sequenza( 0, 360, 1 ),
:Ciclo == 6, Sequenza( 0, 180, 1 ),
:Ciclo == 7, Sequenza( 0, 180, 1 ),
:Ciclo == 8, Sequenza( 0, 180, 1 ),
:Ciclo == 9, Sequenza( 0, 180, 1 ),
:Ciclo == 10, Sequenza( 0, 180, 1 ),
Sequenza( 0, 180, 1 )
)));

Come @txnelson ha detto che ci sono molte soluzioni nella comunità per problemi simili.
Puoi usare Lag(), ma anche le formule Col possono essere utili in casi come questi:
Col Cumulative Sum(1, :Cycle)
Se è necessario spostarlo di 1, è possibile aggiungere -1 alla formula dopo Col Cumulative Sum().
Non necessariamente utile in questo caso particolare, ma molto utile video di @brady_brady che molto probabilmente sarà utile ad un certo punto:
Colonne con formule speciali
Esistono diverse voci di discussione precedenti relative a questo argomento, ma poiché è una soluzione semplice, ho creato un altro esempio per la tua situazione specifica.
In allegato una tabella dati con una colonna formula che calcola i valori desiderati

La formula è
If( Row() == 1,
value = 1,
If( :Cycle != Lag( :Cycle ),
value = 1,
value
++)
);
value;
Mentre la mia soluzione funziona bene, @jthi la soluzione di seguito è una soluzione migliore.