DATETIME 및 MESSAGE라는 두 개의 열이있는 테이블이 있습니다. 메시지 열은 ~ 60 자입니다.
테이블에는 ~ 3 백만 행이 있으며 중복 행이 많으며 동일한 데이터가있는 많은 파일이 연결되어 있기 때문입니다. JMP 12.2.0에서 잘 작동하는 중복 행을 가능한 한 빨리 제거하려고합니다.
JMP 12.2.0에서 요약은 ~ 8 초가 걸립니다.
JMP 14.3.0에서는 프로세스를 30 분 이상 종료했기 때문에 요약에 알 수없는 시간이 걸립니다.
dt2 = dt << Summary( Group( :DATETIME, :MESSAGE ), Invisible, Link to original Data Table( 0 ), Table Name( "MessageTable" ) );
해결 방법을 찾았습니다. 약 16 초가 걸리며 훨씬 좋습니다.
하나의 그룹에서만 요약이 제대로 작동하는 것으로 보입니다. 둘 이상의 그룹을 사용하는 경우 성능이 심각하게 저하됩니다.
그래서 테이블을 1 열로 만든 다음 요약 후 열을 다시 파싱했습니다.
꽤 추악하지만 작동합니다.
dt << New Column( "KEY", Character, Formula( Char( :DATETIME ) || "@" || :MESSAGE ) );
dt2 = dt << Summary( Group( :KEY ), Invisible, Link to original Data Table( 0 ), TableName( "MessageTable" ) );
dt2 << New Column( "DateTime", Numeric, Format( "y/m/d h:m:s" ), Formula( Num( Words( :KEY, "@" )[1] ) ) );
dt2 << New Column( "Message", Character, Formula( Words( :KEY, "@" )[2] ) );
dt2:DateTime << Delete Formula;
dt2:Message << Delete Formula;
dt2 << Delete Columns( {"KEY", "N Rows"} );