이벤트까지의 행 수JSL을 사용하지 않고 이벤트가 발생할 때까지 남은 행 수를 알려주는 열을 계산하는 방법이 있습니까?
다음 수식은 작동하지만 사용자가 "적용"에서 n번 클릭해야 합니다.
이 공식을 n번 '적용'하는 for 루프 안에 넣을 수 있나요?

고급 통계 모델링자동화 및 스크립팅품질 및 프로세스 엔지니어링Re: 이벤트까지의 행 수적용을 누르거나 수식을 여러 번 재실행하지 않고도 원래 수식을 사용할 수 있도록 하는 JSL이 필요하지 않은 간단한 것은 생각나지 않습니다. 이 경우에는 변수가 없기 때문에 공식을 작성하는 것조차 약간 어렵습니다(for 루프에도 인덱스에 대한 변수가 있음).
예를 들어, 이후에 이벤트가 없으면 마지막 행을 쉽게 처리할 수 없습니다(또한 공식은 설명하기 간단하지 않습니다).
If(:Event == 1,
0,
For(i = 1, i <= N Rows() - Row(), i++,
If(Lag(:Event, -1*i) == 1,
Break();
);
);
i;
);
Re: 이벤트까지의 행 수저는 새로운 JMP 사용자에게 설명하기 매우 간단한 공식을 찾고 있습니다.
- 루프 안에 원래 수식을 추가하면 적용을 클릭할 필요가 없으므로 설명하기가 가장 쉽습니다.
- 순서를 바꾸는 것은 직관적이지만 추가 단계가 필요합니다(위 참조).
- 임시 변수를 생성하는 솔루션은 공식으로 작성된 스크립트처럼 보입니다(프로그래머 사고방식, 신규 사용자에게는 적합하지 않음).
그렇다면 질문만큼 간단할 수도 있습니다. 수식이 N번 적용되도록 어떻게 수식을 반복할 수 있습니까?
Re: 이벤트까지의 행 수이 시점에서 나는 질문해야 할 것이다: 우리가 여기서 찾고 있는 것은 무엇인가? 설명이 필요 없는 단일 공식이요?
내가 제공한 공식은 단일 공식(특정 지점 이후에 이벤트가 없는 경우 사례를 처리하기 위해 약간의 변경이 필요함)이지만 자체 설명이 거의 없지만 좋은 이름을 가진 지원 변수를 사용하면 공식에 더 가깝게 만들 수 있습니다.
Re: 이벤트까지의 행 수아마도 행 순서가 반대인 경우 JMP에서 솔루션이 자체적으로 채워진다는 사실을 사용할 수 있을까요?

예를 들어 이렇게 하면 이벤트 순서가 반대가 됩니다.
이벤트 반전:
:Event[(N Rows() - Row()) + 1]
이제 계산이 위에서 아래로 진행되면서 값이 자동으로 채워집니다.
반전된 이벤트 이후의 n 행:
If( :Event inverted == 1, 0,
Lag( :n rows after inverted event, 1 ) + 1
)
마지막으로 우리는 해당 열을 뒤집었습니다.
:n rows after reversed event[(N Rows() - Row()) + 1]
해석하기 쉬운 하나의 공식으로 이를 수행하는 방법에 대한 아이디어가 있습니까?
Re: 이벤트까지의 행 수더 복잡한 수식을 사용할 수도 있습니다. 다음과 같이 작동할 수 있습니다(모든 특수한 경우를 올바르게 처리하지 못할 수도 있음).
If(Row() == 1,
m_events = Loc(:Event << get as matrix, 1);
);
smallerRows = Loc(Row() <= m_events);
If(N Items(smallerRows) == 0,
0,
rowNextEvent = m_events[smallerRows[1]];
If(rowNextEvent,
rowNextEvent - Row();
);
);