시간이 지남에 따라주기가 변경되는 대규모 데이터 세트가 있습니다. 각주기가 시작될 때 인덱스가 1 씩있는 열을 만들고 다음주기가 시작될 때까지 계속 카운트 업 한 다음 카운트가 0에서 다시 시작하는 열을 만들고 싶습니다. 아래에 표시된 개수 및 시퀀스 함수를 사용해 보았지만 두 번째주기가 첫 번째주기보다 더 많은 값을 가질 때 문제가 발생합니다 (주기 관찰이 수식에서 생성하려는 값이고 열 109가 무엇인지 아래 다이어그램 참조). 스크립트에 의해 생성됩니다.)
dt << New Column ( "Cycle Observation", Numeric, Formula (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 아래 솔루션이 더 나은 솔루션입니다.