열의 행을 반복하여 전체 개수를 찾습니다.열에서 현재 항목의 개수를 찾으려고 합니다. 아래 기능은 작동하지만 느린 것 같습니다. 스크립트 런타임을 개선하기 위한 제안 사항이 있습니까?
JMP14, JMP16
<각 행에 대해(Print(Col Number( :ColName, :ColName )))>
내 제안: 처음에 :ColName의 항목을 "Key"로 추가하고 항목이 중복될 때 값(Value++)을 늘려서 연관 배열을 구성하는 것 같습니다. 즉, 키가 중복되거나 새 항목인 경우 값이 1로 설정된 별도의 키를 추가합니다. 더 좋은 방법이겠죠. 그런 다음 행을 반복하여 해당 "값"의 수를 찾을 수 있습니다.
자동화 및 스크립팅Re: 전체 개수를 찾기 위해 열의 행을 반복합니다.행을 반복하려는 특별한 이유가 있습니까? 유사한 작업을 수행하려면 Tabulate 또는 Summary 테이블을 사용할 가능성이 높습니다.

요약 + 스택 테이블

Re: 전체 개수를 찾기 위해 열의 행을 반복합니다.당신이 원하는 것을 수행하는 몇 가지 방법은 다음과 같습니다.
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, items = by( :colName ) );
countOfUniqueValues = N Items( items );
// or
countOfUniqueValues = N Items( Associative Array( :colName ) << get keys );
Re: 전체 개수를 찾기 위해 열의 행을 반복합니다.ColName 열의 각 특정 항목에 대한 행 수를 제공하는 더 큰 데이터 테이블(dt)을 요약(dt_summary)합니다.
dt_summary = dt << Summary( Group( :ColName ), Freq( "None" ), Weight( "None" ) );
이제 원래 테이블(dt) 행을 반복하고 현재 행의 요약 테이블에서 행 수를 가져와 10(발생) 이상인지 확인하려고 합니다.
요약표(키별로 그룹화):

따라서 제가 첫 번째 행에 있고 높이가 59이고 발생 횟수가 2라고 가정해 보겠습니다. 현재 데이터 테이블(dt)의 해당 정보를 새 열(height_qty)에 채우고 싶습니다.
Re: 전체 개수를 찾기 위해 열의 행을 반복합니다.가장 간단한 해결책은 다음을 사용하여 요약 테이블을 원본 테이블에 병합하는 것입니다.
테이블 => 업데이트
플랫폼
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_summary = dt << Summary( invisible, Group( :height ), Freq( "None" ), Weight( "None" ) );
dt_summary:N Rows << set name("height_qty");
dt << Update(
With( dt_summary ),
Match Columns( :height = :height )
);
close( dt_summary, nosave );Re: 전체 개수를 찾기 위해 열의 행을 반복합니다.빠른 도움에 진심으로 감사드립니다, Jim. 예상대로 작동했고 실행 시간이 거의 1분에서 2초로 단축되었습니다.