최대 () 동작 - JMP 12 대 JMP 11과 다른가요?JMP 12에서 다음과 같은 작업이 더 이상 필요하지 않은 이유는 무엇입니까?
예를 들어, "17WW01", "17WW02", "17WW03"... "17WW05"와 같은 항목이있는 열 "WW"가 있습니다.
그리고 "WW"란 (JMP 버전의 charcter / nominal)에서 최신 주간을 찾고 싶습니다.
current_ww = Max(Associative Array(:WW << Get As Matrix()) << Get Keys);
JMP 11.1.1 => 이것은 잘 동작합니다. current_ww = "17WW05"
JMP 12.2.0 => 더 이상 작동하지 않습니다. current_ww =.
그게 왜? Max ()가 이제 JMP 12에서 매우 제한적입니까? DJ
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?이에 대한 귀하의 의견에 감사드립니다. 우리는이 변경으로 JSL compastility 노트를 발행 했어야합니다. 문제의 일부는 변경이 많은 숫자 함수에 영향을 미쳤습니다. 향후 릴리스로 설명서를 업데이트 할 예정입니다.
함수가 문자열에서 제대로 작동하지 않는다는 점에 유의해야합니다. 위의 예를 확장하면 다음을 유의하십시오.
lst <SPAN class="token operator">=</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token string">"17WW01"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"17WW02"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"17WW03"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"17WW04"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"17WW05"</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">;</SPAN>
Show(Max<SPAN class="token punctuation">(</SPAN>lst<SPAN class="token punctuation">))</SPAN><SPAN class="token punctuation">;<BR />Show(Min(lst));</SPAN>
두 답은 똑같이 돌아옵니다. JMP 11 이전 버전의 버그는보고있는 결과가 인수 평가의 부작용이라는 것입니다.
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?"이것은 의도적으로 변경되었습니다. Max ()는 Mean () 또는 Std Dev ()와 같은 숫자 함수입니다.
문자열의 경우 오름차순 정렬 또는 내림차순 정렬을 사용할 수 있습니다. 예 : "
하지만 그것은 JMP12 호버링 도움말 팁에서 말하는 것과 다릅니다. 그것은 JMP12에서도 최대의 문자열을 처리 할 수 있다고 말합니다. 예, 변경되었지만 JMP12 문서가 변경되지 않았습니다. 이것은 사람들이 새로운 JMP 버전으로 변경하는 것을 좋아하지 않는 이유입니다. 이와 같은 숨겨진 변경 사항 때문입니다. 제 경우에는 JMP11에서 회사의 중요한 JSL 스크립트가 훌륭하게 작동했습니다. 그런 다음 JMP12로 마이그레이션하면 충돌이 발생합니다. DJ
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?그리고 물론 이것은 오늘 중요한 스크립트에서 나를 괴롭히기 위해 되돌아왔다. (JMP11에서 JMP12로 마이그레이션). 그들이 JMP에 대해 아무 것도하지 않겠지 만 이것을 JMP에보고 할 것입니다. 확실히 JMP12 버그는 내 마음 속에서 max 함수가 문자열 목록의 최대 값을 찾을 수 있다고 말했기 때문에 (JMP11에서 잘 해낸 것처럼). DJ
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?나는 그것을 다른 방식으로 분해했다 :
lst = {"17WW01", "17WW02", "17WW03", "17WW04", "17WW05"};
Max(lst);
JMP 11에서는 값을 반환하지만 12 또는 13에서는 빈 값을 반환합니다. 해결 방법은 목록을 정렬하고 마지막 항목을 가져 오는 것입니다. 동작의 변경이 버그인지 기능인지는 확실하지 않습니다.
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?이것은 의도적으로 변경되었습니다. Max ()는 Mean () 또는 Std Dev ()와 같은 숫자 함수입니다.
문자열의 경우 오름차순 정렬 또는 내림차순 정렬을 사용할 수 있습니다. 예 :
current_ww = Sort Descending(Associative Array(:WW << Get As Matrix()) << Get Keys)[1];
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?나는 그것이 부서지는 곳을보기 위해 그것을 분해했다. 나는 그것이 버그라고 생각한다. 다음은 첫 번째 부분입니다.
aa = Associative Array( :WW << Get As Matrix );
k = aa << Get Keys;
이 표현식은 다음과 같이 평가됩니다.
Associative array( 5 elements ) assigned.
{"17WW01", "17WW02", "17WW03", "17WW04", "17WW05"}
마지막으로, 나는 유효한 표현을 만들었습니다.
max expr = Expr( Maximum() );
For( item = 1, item <= N Items( k ), item++,
Insert Into( max expr, k[item] );
);
Show( Name Expr( max expr ) );
나는이 결과를 얻는다.
Name Expr(max expr) = Maximum("17WW01", "17WW02", "17WW03", "17WW04", "17WW05");
이것은 최대 기능에 대한 유효한 호출입니다. 여러 인수가 목록 및 행렬에 나타나지 않고 이와 같이 나타나면 모두 숫자 또는 모든 문자열이어야합니다. 분명히이 예제는 요구 사항을 충족합니다. 그러나이 표현식을 평가할 때 나는이 결과를 얻는다.
need arguments to be scalars, matrices, or lists in access or evaluation of 'Maximum' , Maximum/*###*/("17WW01", "17WW02", "17WW03", "17WW04", "17WW05")
원래 키 목록을 사용하려고하면 다음과 같이하십시오.
Name Expr(max expr) = Maximum({"17WW01", "17WW02", "17WW03", "17WW04", "17WW05"});
오류 메시지가 표시되지 않습니다. 나는 원래 게시물의 보고서로 누락 된 가치를 얻는다.
버그 같아.
제목 : Re : Max () 동작 - JMP 12 대 JMP 11과 다른가요?분명히 바뀌 었습니다. JMP 12 또는 JMP 13도 JMP 11과 동일한 결과를 반환하지 않습니다.