Ich habe einen großen Datensatz, in dem sich der Zyklus im Laufe der Zeit ändert. Ich möchte eine Spalte erstellen, die zu Beginn jedes Zyklus einen Index von 1 hat und weiter zählt, bis der nächste Zyklus beginnt. Dann beginnt die Zählung wieder bei 0. Ich habe versucht, die unten gezeigten Zähl- und Sequenzfunktionen zu verwenden, aber es treten Probleme auf, wenn mein zweiter Zyklus mehr Werte hat als mein erster Zyklus (siehe Diagramm unten, wo die Zyklusbeobachtung der Wert ist, den die Formel erzeugen soll, und Spalte 109 der Wert ist). vom Drehbuch produziert.)
dt << Neue Spalte("Zyklusbeobachtung", Numerisch, Formel (If(
:Zyklus == 1, Sequenz( 0, 1080, 1 ),
:Zyklus == 2, Sequenz( 0, 1439, 1 ),
:Zyklus == 3, Sequenz( 0, 360, 1 ),
:Zyklus == 4, Sequenz( 0, 360, 1 ),
:Zyklus == 5, Sequenz( 0, 360, 1 ),
:Zyklus == 6, Sequenz( 0, 180, 1 ),
:Zyklus == 7, Sequenz( 0, 180, 1 ),
:Zyklus == 8, Sequenz( 0, 180, 1 ),
:Zyklus == 9, Sequenz( 0, 180, 1 ),
:Zyklus == 10, Sequenz( 0, 180, 1 ),
Sequenz( 0, 180, 1 )
)));

Als @txnelson sagte, dass es in der Community viele Lösungen für ähnliche Probleme gibt.
Sie können Lag() verwenden, aber auch Col-Formeln können in Fällen wie diesen hilfreich sein:
Col Cumulative Sum(1, :Cycle)
Wenn Sie es um 1 verschieben müssen, können Sie nach Col Cumulative Sum() -1 zur Formel hinzufügen.
In diesem speziellen Fall nicht unbedingt hilfreich, aber sehr hilfreiches Video von @brady_brady was höchstwahrscheinlich irgendwann nützlich sein wird:
Spezielle Formelspalten
Es gibt mehrere frühere Diskussionseinträge zu diesem Thema, aber da es sich um eine einfache Lösung handelt, habe ich ein weiteres Beispiel für Ihre spezielle Situation erstellt.
Im Anhang finden Sie eine Datentabelle mit einer Formelspalte, die die gewünschten Werte berechnet

Die Formel lautet
If( Row() == 1,
value = 1,
If( :Cycle != Lag( :Cycle ),
value = 1,
value
++)
);
value;
Während meine Lösung gut funktioniert, @jthi Die folgende Lösung ist eine bessere Lösung.