안녕하세요,
Perl을 사용해서 이런 작업을 했는데 Perl에는 이미징 기능이 없어서 대신 JMP를 사용하고 싶습니다. 나는 이 혼란스러운 과정에서 몇 가지 단계를 발견했습니다. 이 항목 중 하나에 도움을 줄 수 있는 JMP 전문가가 있나요?
1) 분류된 항목의 XY 그리드 가장자리를 필터링한 다음 범주별로 결함 수를 계산하기 위해 다음 스크립트(아래)를 캡처했습니다. 나는 name_A...name_F라는 디렉토리의 모든 파일을 globbing하고 각 파일에 스크립트를 적용하여 더 유용하게 만들고 싶습니다.
2) 그런 다음 스크립트가 실행될 때마다 모든 이미지 파일을 저장하고 싶습니다.
3) 생성 중인 테이블의 모든 데이터를 분류별로 파일 이름과 항목이 포함된 하나의 마스터 파일로 내보내고 싶습니다.
// 텍스트 파일 가져오기: name_F.csv
// → 데이터 테이블( "name_F" )
열려 있는(
"$DESKTOP/이름_F.csv",
열(
새 열( "No", 문자, "명목"),
새 열( "클래스", 문자, "명목"),
새 열( "X", 숫자, "연속", 형식( "최고", 12 ) ),
새 열( "Y", 숫자, "연속", 형식( "최고", 12 ) ),
새 열( "에너지", 숫자, "연속", 형식( "최고", 12 ) ),
새 열( "c000006", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000007", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000008", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000009", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000010", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000011", 숫자, "연속", 형식( "최고", 10 ) ),
새 열( "c000012", 숫자, "연속", 형식( "최고", 10 ) )
),
가져오기 설정(
줄 끝(CRLF, CR, LF),
필드 끝(쉼표, CSV( 0 ) ),
스트립 인용문( 1 ),
아포스트로피를 따옴표( 0 )로 사용하세요.
지역 설정 사용( 0 ),
전체 파일 스캔( 1 ),
빈 열을 숫자( 0 )로 처리합니다.
압축숫자열( 0 ),
압축문자열( 0 ),
CompressAllowListCheck( 0 ),
라벨( 1 ),
열 이름 시작( 15 ),
데이터 시작( 16 ),
읽을 줄( "모두" ),
연도 규칙( "20xx" )
)
);
// 보고서 스냅샷: name_F - 그래프 빌더
데이터 테이블( "name_F.csv" ) << 그래프 빌더(
크기( 502, 432 ),
제어판 표시( 0 ),
변수( X( :X ), Y( :Y ) ),
요소( 점( X, Y, 범례( 5 ) ) )
);
현재 데이터 테이블() << 데이터 필터(
위치( {30, 30} ),
모드( 포함( 1 ) ),
필터 추가(
열( :X, :Y ),
여기서( :X >= 24602 & :X <= 93335 ),
여기서( :Y >= 23835 & :Y <= 93002 )
)
);
// 보고서 스냅샷: name_F - 그래프 빌더 2
그래프 빌더(
사이즈( 570, 432 ),
제어판 표시( 0 ),
변수( X( :X ), Y( :Y ), 그룹 Y( :Class ) ),
요소( 점( X, Y, 범례( 15 ) ) )
);
// 보고서 스냅샷: name_F - 그래프 빌더
그래프 빌더(
크기( 502, 432 ),
제어판 표시( 0 ),
변수( X( :Class ), Y( :X ) ),
강요(
술집(
엑스,
와이,
범례( 4 ),
요약 통계( "N" ),
Label( "값으로 레이블 지정" )
)
)
);
각 항목에서 내가 멈춘 부분을 강조하려면 다음을 수행하세요.
1) JMP로 일괄 가져오고 모든 파일을 같은 줄에서 연 다음 로그를 출력해야 합니다. JMP가 첫 번째 단계를 수행할 수 있을지 잘 모르겠습니다.
2) 이미지를 저장할 때 어떤 종류의 로그가 업데이트되는지 알 수 없습니다.
3) 파일 이름을 테이블에 가져오는 방법을 알 수 없습니다.
안녕하세요 @PanelGemsbok742 !
각 질문에 대한 몇 가지 생각은 다음과 같습니다.
- 여러 파일 가져오기(파일 아래)를 살펴보세요. "파일 이름 추가" 확인란을 사용하여 데이터 세트가 어떤 파일에서 왔는지 알 수 있습니다.
- 저장 이미지는 현재 강화 로그에 의해 캡처되지 않을 수 있습니다(일부 더 깊은 내용은 그렇지 않습니다). 초기의 초점은 데이터 처리 및 정리 작업이었고 그 이후로 계속 확장되었습니다. 18에서는 출력 파일에 대한 지원이 더 많아질 것 같습니다. 그동안 JMP의 도움말 > 스크립팅 색인에서 이미지 저장을 검색해 보세요. 이미지를 내보내는 방법에 대한 올바른 방향을 알려주는 멋진 작은 코드 조각이 있습니다.

- 또한 답변 1로 처리해야 합니다.
다른 생각 - 위의 코드를 약간 수정하여 루프에 넣을 수 있다고 확신하며 디렉토리에서 작동할 것입니다. 여기에 의사 코드(도움을 주기 위해 삽입된 일부 코드 비트 포함)가 있습니다.
// Define the file directory
dir = Pick Directory();
// Get Files in directory of interest
files = Files in Directory(dir);
// Loop through files list
For Each({file, index}, files,
// create file name with path
filename = dir ||file;
// your stuff
// change the "$Desktop/..." to be filename
// update to include the image save...
); // end of loop