시간이 지남에 따라 주기가 변하는 대규모 데이터 세트가 있습니다. 각 주기가 시작될 때 인덱스가 1이고 다음 주기가 시작될 때까지 계속 카운트된 다음 카운트가 0에서 다시 시작되는 열을 만들고 싶습니다. 아래에 표시된 카운트 및 시퀀스 함수를 사용해 보았지만 두 번째 주기에 첫 번째 주기보다 더 많은 값이 있을 때 문제가 발생했습니다(주기 관찰이 공식에서 생성하려는 값이고 열 109가 무엇인지 아래 다이어그램 참조). 대본으로 제작되었습니다.)
dt << New Column("주기 관찰", 숫자, 공식(If(
:사이클 == 1, 시퀀스( 0, 1080, 1 ),
:사이클 == 2, 시퀀스( 0, 1439, 1 ),
:사이클 == 3, 시퀀스( 0, 360, 1 ),
:사이클 == 4, 시퀀스( 0, 360, 1 ),
:사이클 == 5, 시퀀스( 0, 360, 1 ),
:사이클 == 6, 시퀀스( 0, 180, 1 ),
:사이클 == 7, 시퀀스( 0, 180, 1 ),
:사이클 == 8, 시퀀스( 0, 180, 1 ),
:사이클 == 9, 시퀀스( 0, 180, 1 ),
:사이클 == 10, 시퀀스( 0, 180, 1 ),
시퀀스( 0, 180, 1 )
)));

처럼 @txnelson 비슷한 문제에 대한 해결책이 커뮤니티에 많이 있다고 말했습니다.
Lag()를 사용할 수 있지만 Col 수식도 다음과 같은 경우에 도움이 될 수 있습니다.
Col Cumulative Sum(1, :Cycle)
1만큼 이동해야 하는 경우 Col Cumulative Sum() 뒤에 수식에 -1을 추가할 수 있습니다.
이 특별한 경우에는 꼭 도움이 될 필요는 없지만 매우 유용한 동영상입니다. @brady_brady 이는 어느 시점에서 가장 유용할 것입니다.
특수 수식 열
이 주제에 관한 이전 토론 항목이 여러 개 있지만 이는 쉬운 해결책이므로 특정 상황에 대한 또 다른 예를 만들었습니다.
원하는 값을 계산하는 수식 열이 포함된 데이터 테이블이 첨부되어 있습니다.

공식은
If( Row() == 1,
value = 1,
If( :Cycle != Lag( :Cycle ),
value = 1,
value
++)
);
value;
내 솔루션이 제대로 작동하는 동안 @jthi 아래 솔루션이 더 나은 솔루션입니다.