수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?저는 JMP를 사용하여 데이터 파이프라인을 프로토타입화하는 경우가 많습니다. 한 테이블의 열 값을 계산한 다음, 계산 결과를 기반으로 다른 테이블에 데이터를 쿼리하는 방식입니다. 그런데 매우 이상하고 직관에 어긋나는 동작을 발견했습니다. 예를 들어, 세 개의 열이 있는 테이블이 있다고 가정해 보겠습니다.

두 번째와 세 번째 열은 Lag(:Column 1) 및 Col Sum(:Column 1)으로 계산됩니다.
이제 :Column 1 > 2인 새 테이블에서 행을 쿼리합니다. 결과는 다음과 같습니다.

":Lag of Column 1"과 ":Column 1 Sum"은 표에 수식이 상속되었기 때문에 다시 계산됩니다. 이는 이해할 만한 현상입니다.
하지만 수식을 삭제하고 테이블을 업데이트하면 어떻게 될까요? 그러면 수식이 없고 대상 테이블에서 값을 다시 계산하지 않기 때문에 원본 테이블에 있는 데이터가 그대로 표시될 텐데요, 맞나요? 아, 틀렸네요! 아무것도 바뀌지 않습니다. 여전히 null, 3, 7, 7이 표시되고, 2, 3, 10, 10이 표시되지 않습니다.
이게 결함인가요? 아니면 예상한 대로인가요? 어떻게 설명할 수 있을까요?
감사해요!
자동화 및 스크립팅Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?아야, 놀라울 정도로 독성이 강한 혼합물이군요: 쿼리 빌더와 열 수식!
Subset과 같은 일부 설정

두통이 많이 줄어들 거예요.
그 외에도: JMP의 핵심을 자세히 볼 수 있는 좋은 돋보기도 있어요 
JMP 버전은 무엇인가요? 로그에서 단계를 공유해 주시겠어요?
JMP 18.2.2와 19.0을 사용해 테스트한 결과, 쿼리를 실행한 후에 지연() 가 실행되고 Col Sum()은 실행되지 않았습니다.
수식을 제거한 후에는 모든 것이 괜찮습니다.
[아마도: 수식이 포함된 "제목 없음"의 오래된 데이터 테이블을 참조했나요?]


names default to here(1);
dt = New Table( "Untitled",
Add Rows( 4 ),
New Column( "Column 1",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] )
),
New Column( "Sum[Column 1]",
Formula( Col Sum( :Column 1 ) )
),
New Column( "Lag[Column 1]",
Formula( Lag( :Column 1, 1) )
)
);
dt << run formulas();
wait(0);
queryDT= Expr(New SQL Query(
Connection( "JMP" ),
Select(
Column( "Column 1", "t1" ),
Column( "Sum[Column 1]", "t1" ),
Column( "Lag[Column 1]", "t1" )
),
From( Table( "Untitled", Alias( "t1" ) ) ),
Where(
GT(
Column( "Column 1", "t1" ),
2,
UI( Comparison( Base( "Continuous" ) ) )
)
)
) << Run Foreground);
queryDT;
Column (dt, 2) << delete formula();
Column (dt, 3) << delete formula();
wait(0);
queryDT;
wait(0);
dt << set name("input");
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?JMP 데이터 테이블에 쿼리를 작성하고 계신가요? 어떤 테이블에서 수식을 삭제하고 계신가요? 문제를 재현할 수 있는 예시 데이터 세트를 공유해 주시겠어요?
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?네, 두 번째 스크린샷의 두 번째 테이블은 첫 번째 스크린샷의 첫 번째 JMP 데이터 테이블을 쿼리한 결과입니다. 테이블이 첨부되어 있습니다. 같은 폴더에 넣고 두 번째 스크린샷에서 "데이터베이스에서 업데이트" 스크립트를 실행하세요. 두 번째 테이블에는 수식이 없지만, 결과는 마치 수식이 존재하고 계산된 것처럼 보입니다.
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?JMP 프로 V.17
표가 첨부되어 있습니다.
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?좋은 해결책은 아니지만, 원래 테이블에서 수식 평가를 일시적으로 억제하고, 쿼리를 실행한 다음 수식 평가를 다시 활성화할 수 있습니다(제 생각에는 이 작업은 쿼리 빌더에서 이미 수행되어야 합니다).

또한, 이상한 일이 일어나고 있으므로 이에 대해 JMP 지원팀 에 문의하시기 바랍니다.
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?JMP 19.1에 대한 제안:
쿼리 빌더: 수식 열 비활성화
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?아, 제가 잘못 해석했네요.
하지만 수식을 삭제하고 표를 업데이트하면 어떻게 되나요?
네, JMP19에서도 마찬가지입니다.
그러면 JMP는 쿼리(수식 포함)를 실행하고 대상 테이블의 데이터를 새로운 결과로 바꾸나요?
사실 'Update'에서 예상했던 결과입니다. 그런데 JMP에서 새 열이 추가된 경우 '테이블은 유지하고 데이터만 업데이트 '하는 업데이트를 왜 할 수 없는 걸까요? 4열 의 경우, 기존 데이터를 모두 삭제하고 새 쿼리 결과로 대체하는 것 같습니다.
아마도: 쿼리 결과를 가져오지만, 기존 열 설정을 복사하여 적용하는 것일까요?
... 그럼으로써 열 수식을 제거하고 문제를 숨길 수 있을까요?
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?네, 이 해결 방법이 효과가 있습니다. 제가 사용하는 또 다른 어색한 해결 방법은 수식 없이 모든 행을 중간 테이블에 쿼리한 다음, 이 중간 테이블에 쿼리를 실행하는 것입니다.
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?JMP 지원팀의 답변은 어땠나요?
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?나는 그들에게 연락하지 않았다. 나는 이 커뮤니티와 나 자신에게 의지하는 편이 낫다.:)
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?음, 저는 "해결 방법"보다는 공식적인 해결책을 선호합니다.
고쳐서 잊어버리세요.
해결책을 찾아 잊지 마세요!!
- 그리고 모든 동료들에게 알리는 것을 잊지 마세요!
Re: 수식 없이 열이 예상치 못하게 다시 계산되는 이유는 무엇입니까?"커뮤니티와 나 자신"에 관하여 - 주제를 추가했습니다.
주의: Jmp가 예상치 못한 일을 하는 곳
반면에 저는 이 문제가 GUI에서 해결될 수 있다고 확신합니다.
Subset의 옵션과 유사한 옵션은 고객이 문제를 이해하는 데 도움이 될 수 있으며, 기본 옵션은 수식 열을 제거하거나 비활성화하는 것입니다.

이 동작이 버그로 간주되는지 살펴보겠습니다: TS-00244891.
그렇지 않은 경우 먼저 위시리스트에서 충분한 Kudos를 수집해야 하므로 시간이 더 오래 걸립니다. 쿼리 작성기: 수식 열 비활성화