Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법안녕 모두,
알람이 울리는 횟수를 알아내려고 합니다. 간단한 논리를 기반으로 "Number of Occurrence" 열을 만들었습니다. Data in Row() > Row()+1이면 트리거가 재설정됩니다. 그러나 이미지에서 볼 수 있듯이 잘못된 경보가 많이 발생합니다. 구현하려는 새 로그인 -
만약에 (
(Row() - Row()+1) >= Abs(Max(Data))/10, 트리거 재설정, 그렇지 않으면 그대로 유지
)
그런 것.
요약 테이블을 만든 다음 요약 테이블에서 열을 추가한 다음 각 값을 새 열과 비교하는 것과 같이 약간의 로그 방식으로 수행할 수 있습니다. 그것은 잘 작동하지만 내 스크립트를 느리게 만듭니다.
수식 또는 For 루프에서 구현하는 더 좋은 방법이 있습니까?
도움이 필요합니다.
감사 해요.

스크립팅Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법Col Max() 함수를 사용하여 그룹 내에서 최대값을 얻고 Lag()를 사용하여 열의 행 사이를 비교할 수 있습니다.
알람 뒤에 있는 논리를 좀 더 쉽게 이해할 수 있도록 "정확한" 결과가 있는 데이터 테이블을 제공할 수 있습니까? 아니면 현재 데이터 값이 그룹(ID 및 하위 집합) 내의 이전 값보다 큰지 확인하고 싶습니까?
Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법안녕 @jthi
"발생 횟수 - 수정됨"이라는 열을 추가했습니다.올바른(원하는) 결과를 보여줍니다.

Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법다음 공식을 사용하여 최대 10%를 직접 계산할 수 있습니다.
Col Max(:Data, :ID, :"Sub-set"n)*0.1
재설정되지 않는 것처럼 보이지만 1 값만큼 뒤로 이동할 수 있기 때문에 발생 횟수를 어떻게 계산해야 하는지 아직 확실하지 않습니다. "현재 행" 이후의 값 데이터 열 값을 확인하려면 Lag(:Data, - 1)를 사용할 수 있습니다.

당신이 가지고 있는 규칙은 다음과 같은 하나의 공식으로 보일 것입니다:
If(:Data - Lag(:Data, -1) >= Abs(Col Max(:Data, :ID, :"Sub-set"n)) / 10,
1,
0
)
Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법그것은 작동하지 않습니다. 어떻게 든 "Col Max(:Data , Group by{ID, Sub-set})"와 같은 것을 구현할 수 없습니다.
요약 테이블에서 기본 테이블의 열 공식으로 값을 호출할 수 있습니다. 원래 솔루션보다 낫습니다.
감사 해요.
Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법나는 작동하는 것으로 보이는 공식을 생각해 냈습니다.............

귀하의 발생 횟수와 불일치가 있습니다 - 수정되었습니다.행 32에서 .13 - 08은 .05를 생성하며 이는 .034보다 크므로 발생 횟수가 증가해야 합니다.

추가 발생의 구현은 발견된 후 행까지 적용되지 않습니다.따라서 다음 행이 처리될 때까지 변경 사항을 적용하지 않도록 수식을 사용하는 데 약간의 속임수가 있어야 합니다.아래는 "Jim's Calculation" 열에 사용한 공식입니다.
If( Row() == 1 | :ID != Lag( :ID ) | :"Sub-set"n != Lag( :"Sub-set"n ),
hold = :Number of Occurance;
applyRow = 0;
);
If( :Data - Lag( :Data, -1 ) >= Abs( Col Max( :Data, :ID, :"Sub-set"n ) ) / 10,
applyRow = Row() + 1
);
If( Row() == applyRow,
applyRow = 0;
hold = hold + 1;
);
hold;
Re: Formula 또는 For-Loop에서 그룹화된 열을 기반으로 집계된 값(평균/최대 등)을 호출하는 방법안녕 @txnelson , 효과가 있었다. 감사합니다.
몇 가지 -
1. 공식이 작동 중입니다. 그러나 행 번호 2의 "보류"에 대한 입력으로 "발생 횟수"를 사용하고 있습니다. 해당 열을 우회할 수 있는 방법이 있습니까? (즉, 원래 "발생 횟수" 열이 없습니다!). 처음 3개의 열만 기준으로 정확한 발생 횟수를 얻을 수 있습니까? 내일 내가 여기에서 다루지 않는 다른 유형의 잘못된 경보를 발견하면 해당 열에 의존하고 싶지 않습니다!

2. "Sub-set" -- "Sub-set"n 옆에 있는 'n'은 무엇입니까? 나는 Jim의 제안에서도 그것을 얻지 못했습니다. 그것에 대한 어떤 참조?
삼. 행 32에서 발생이 증가해야 합니다. 몇 가지 값을 수동으로 변경했는데 내 실수였습니다.
다시 한번 감사합니다.