실행 번호 값 증가Run #을 증가시키는 공식을 개발하려고합니다. 상점 주문에 새 프로세스 ID가있을 때마다 카운트 업되고 이전에 새 상점 주문이 실행되지 않은 경우 다시 1로 재설정되어야합니다. 아래에 표시된 것처럼 Shop Order 532에는 3 개의 서로 다른 프로세스 ID가 있지만 순서가 맞지 않으므로 순서가 맞지 않더라도 마지막 항목에서 최대 3 개까지 증가합니다. 수식 열에 대한 이상적인 결과로 원하는 것을 수동으로 보여주는 열을 만들었습니다. 이 문제를 다루는 공식을 어떻게 작성해야합니까?

데이터 테이블스크립팅Re : 실행 번호 값 증가다음은 사용할 수있는 공식입니다.새 열 Run #을 만듭니다.모델링 유형을 "서수"로 설정하는 것이 좋습니다.새 열에 대한 수식 편집기를 열고 다음을 붙여 넣습니다.
If( Row() == 1,
:Process ID << set property( "Value Order", {Common Order( 0 ), Row Order Levels( 1 )} );
Summarize( byGroup = by( :Process ID ) );
:Process ID << delete property("Value Order");
);
아래는 열 생성을 수행하고 수식을 적용하는 스크립트입니다.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Run #",
ordinal,
formula(
If( Row() == 1,
:Process ID << set property( "Value Order", {Common Order( 0 ), Row Order Levels( 1 )} );
Summarize( byGroup = by( :Process ID ) );
:Process ID << delete property("Value Order")
);
Contains( byGroup, :Process ID );
)
);Re : 실행 번호 값 증가감사합니다. 내가 찾고있는 일을 제대로하지 못합니다. "실행 #에 대한 이상적인 결과 열"과 "실행 #"사이의 불일치를 확인하십시오. 공식이 현재 작동하는 방식은 새 SO가 시작 되더라도 증가하고 있습니다.

Re : 실행 번호 값 증가죄송합니다. Shop Order 링크를 놓쳤습니다.그것은 모든 것을 바꾸고 공식을 훨씬 더 간단하게 만듭니다.
If( Row() == 1 | :Shop Order != Lag( :Shop Order ),
count = 1,
If( :Process ID != Lag( :Process ID ),
count
++)
);
count;