공식 적용IF(월(A151)=월(A150),NA(),COUNTIF(W151:W181,1)*100/(COUNTIF(W151:W181,1)+COUNTIF(W151:W181,0))) . 이것은 새 열을 생성하기 위해 Excel에 적용되는 수식입니다. 여기서 A열에는 날짜가 있고 W열에는 값이 0과 1만 포함되어 있습니다. A열과 W열 값이 있는 경우 JMP에서 동일한 공식을 적용하는 방법입니다.
고급 통계 모델링답: 수식 적용내가 이것을 처리하는 방법은 다음과 같습니다.
Loc() 함수는 Loc() 함수의 두 번째 인수와 일치하는 행렬의 모든 값으로 구성된 행렬을 반환합니다. 그러므로
행렬을 줘
[1,0,1,1,.,5]
그 다음에
Loc( [1,0,1,1,.,5], 1 )
행렬을 반환합니다
[ 1, 1, 1 ]
따라서 CountIF를 찾기 위해 행렬의 행 수를 세는 것은 간단한 문제입니다.
Length( Loc( [1,0,1,1,.,5], 1 ) )
값 3을 반환합니다.
완전한 공식은 다음과 같습니다.
If( Month( :A ) == Lag( Month( :A ) ),
.,
wMatrix = :W[Index( Row(), Row() + 29 )];
(Length( Loc( wMatrix, 1 ) ) * 100) / (Length( Loc( wMatrix, 1 ) ) + Length( Loc( wMatrix, 0 ) ));
)
일반적으로 JMP에서는 데이터 테이블의 특정 행 수를 기반으로 계산하는 것을 피하려고 합니다. 이번 토론은 이에 대한 좋은 예입니다. 위 수식이 올바르게 작동하려면 데이터 테이블에서 월 변경 후 계산을 수행하기 위해 정확히 30개의 행을 찾아야 합니다. 우리 모두는 달마다 일수가 다르다는 것을 알고 있습니다. 위 수식을 다음과 같이 변경하면 해당 월의 일수에 관계없이 이번 달의 모든 데이터를 찾아 계산을 수행하는 방법을 보여줍니다.
If( Month( :A ) == Lag( Month( :A ) ),
.,
wMatrix = :W[Current Data Table() << get rows where(
Year( :A ) == Year( :A[Row()] ) & Month( :A ) == Month( :A[Row()] )
)];
(Length( Loc( wMatrix, 1 ) ) * 100) / (Length( Loc( wMatrix, 1 ) ) + Length( Loc( wMatrix, 0 ) ));
)
답: 수식 적용필요한 모든 열 + 예상 결과 열이 포함된 예제 테이블을 JMP 테이블로 제공할 수 있습니까? 데이터가 없는 엑셀 수식을 JMP 수식으로 변환하는 것보다 문제를 더 쉽게 이해할 수 있습니다. 다음과 같은 것이 필요할 수도 있습니다.
열 누적 합계(:W, :A) 또는 열 합계(:W, :A)
답: 수식 적용답장을 보내 주셔서 감사합니다. 이 공식을 적용했는데 누적 합계가 나오지만 제 경우에는 월이 바뀔 때마다 다음 30일 동안 0과 1의 개수를 구해야 합니다.
Re: 수식 적용안녕하세요-
답글을 쓰려고 하다가 다른 글이 눈에 띄었어요. 이게 대체 글일 수도 있고요...

참고사항:
월 함수는 Excel Month() 함수와 동일하게 날짜/타임스탬프로 코딩된 숫자의 월 부분을 반환합니다.
IF는 현재 행이 월 경계에 있는지 확인합니다. 이는 JMP "누락됨"을 반환하도록 설정되어 있으며, Excel NA()와 약간 다르게 동작할 수 있습니다.
값이 1과 0으로 코딩되었으므로 {개수 1/(개수 0 + 개수 1)}이 아닌 다음 30개 행의 평균을 구했습니다.
스프레드시트 지향 수식과 Excel 상대 참조(지연, 이동 평균)처럼 작동하는 수식이 포함된 JMP 데이터 테이블 사이를 전환하는 경우...
* 의도된 작동을 확인하기 위해 상단과 하단의 동작을 주의 깊게 검토하세요*. "위쪽 행"에 대한 Excel 상대 참조를 첫 번째 행에 복사하면 #Ref! 오류가 발생하고, JMP Lag(1)은 첫 번째 행의 누락을 반환합니다. 또한 남은 행 수가 30개 미만이 되면 JMP 이동 평균의 세부 사항을 살펴보세요... (괜찮을 수도 있지만, 주의 깊게 살펴보세요). JMP 수식에 추가 조건문을 사용하면 이 문제를 해결할 수 있습니다. if (row()==1, 첫 번째 행에 대한 특수 함수, 그렇지 않으면 lag 함수 사용)
설명에는 표 디자인의 근거가 나와 있지 않지만, 현재 월 내에서 1 값의 일부를 찾는 것이 목적이고 월별로 30개의 행이 순서대로 정렬되어 있다고 가정하는 경우... # 행/월 <>30 및 행 정렬에 강력한 다른 접근 방식이 있습니다... 날짜/타임스탬프 열 A를 선택한 상태에서 마우스 오른쪽 버튼 클릭>새 수식 열>날짜/시간> "월/년"...
그런 다음 해당 월/년도의 "평균" W를 찾기 위해 새 수식 열을 만듭니다. Col Mean( :was_W, :"Month Year[was_A]"n ) * 100, 필요한 경우 경계 행을 찾기 위한 유사한 조건문
답: 수식 적용귀하의 요청이 약간 불분명하지만 제 생각에는 귀하가 원하는 바에 가깝다고 생각합니다. 첨부 파일을 참조하세요. 임의의 날짜 열을 만든 다음 정렬했습니다. W 열은 0과 1 값의 임의 벡터입니다. 이 수식은 월이 변경된 후 다음 30일 동안 1 값의 비율을 계산합니다. 이것이 원하는 것이 아니라면 더 명확하게 설명하거나 간단한 예를 게시할 수 있습니까? JMP는 스프레드시트가 아니므로 CountIF와 같은 Excel 공식이 항상 잘 번역되는 것은 아닙니다.
Re: 수식 적용제 생각에 제 예시가 그랬고, 제가 첨부한 파일에서는 작동하는 듯했습니다. 작동하지 않는 이유를 알고 싶지만, 귀하의 코멘트는 유용한 정보를 제공하지 않습니다. 귀하의 초기 요청과 마찬가지로, 귀하가 원하는 것이 무엇인지, 그리고 제안이 어떻게 그것을 달성하지 못하는지 이해할 수 있도록 좀 더 자세한 내용을 제공해야 합니다.