행 옮김 된 데이터 표 저장열을 옮긴 후 correclty를 저장하기 위해 데이터 테이블을 얻으려고 노력했습니다. 처음 세 행에 스펙 제한이있는 데이터 테이블이 있는데 데이터 파일을 데이터 분포 플롯의 일부로 적용된 한계 파일로 사용할 수 있도록 파일을 별도의 파일에 저장하려고합니다. 저장된 SPEC LIMITS 파일을 열 때마다, 변환되지 않은 형식의 열이 여전히 있습니다. 전환되지 않은 열이있는 표와 전환 된 열이있는 표가 모두 화면에 열립니다.
dt = 열린 (경로); // 열려고하는 파일을 데이터 파일로 선택합니다. 사양 제한은 처음 세 줄에 있습니다.
x = 3; // 원시 데이터가 아닌 행의 수 (그리고 스펙 제한이 있음)
n = N 행 (dt); // 테이블의 전체 행 수를 구한다.
For (i = n, i> x, i--, // 4 행에서 시작하는 모든 행을 표의 끝까지 삭제합니다.
dt << 행 삭제 (i);
n = dt << 열 이름 가져 오기 ();
dt << 조바꿈
열 (n),
출력 표 ( "SPEC LIMITS")
);
: 레이블 << 이름 설정 ( "매개 변수");
: 행 1 << 이름 설정 ( "LSL");
: 행 2 << 이름 설정 ( "USL");
: 행 3 << 이름 설정 ( "단위");
dt << 저장 ( "SPEC LIMITS.jmp"); // 테이블 열을 옮겨 놓은 데이터 테이블을 저장하지 않습니다.
또한 가까운 명령의 일부로 테이블을 저장하려고 시도하고 동일한 결과를 얻었습니다.
close (dt, Save ( "SPEC LIMITS.jmp"));
분명히 쉬운 설명이 있지만 열을 옮겨 테이블을 저장하는 데 필요한 것은 무엇입니까? 고맙습니다!
제목 : Re : 열 변환 된 데이터 테이블 저장명확하게 해 주셔서 감사합니다... 나는 이것을 시도 할 것이다
제목 : Re : 열 변환 된 데이터 테이블 저장1. @stephen_pearson 코드가 탁월한 개선 효과를 나타냅니다. @JensRiege 암호. 그러나 원래 코드의 문제의 원인은 @stephen_pearson 코드에 주석이 추가되지 않았습니다.
코드 저장에 실패한 주된 문제는 데이터 테이블을 저장할 때 변수 "dt"가 사용되었다는 것입니다
dt << Save("SPEC LIMITS.jmp");
"dt"는 원래 데이터 테이블을 가리키고, 조바꿈 데이터 테이블이 생성되면,
dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
변수 "dt"가 새 데이터 테이블을 가리킬 것이라는 가정이 분명히있었습니다.
@stephen_pearson "Transpose"에 의해 생성 된 새로운 테이블을 가리 키기 위해 "dt2"라는 새로운 열을 올바르게 생성 한 다음 "Save"함수에서 사용합니다
dt2 = dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
:Label << Set Name( "Parameter" );
:Row 1 << Set Name( "LSL" );
:Row 2 << Set Name( "USL" );
:Row 3 << Set Name( "Units" );
dt2 << Save("$DESKTOP\SPEC LIMITS.jmp");<BR /><BR />
Transpose ()에 "dt2"핸들을 추가하고 저장 함수의 "dt"참조를 "dt2"로 변경하면 원래 코드가 작동합니다.
제목 : Re : 열 변환 된 데이터 테이블 저장이 시도:
dt = currentdatatable(); // I select the file to data file to open. Spec limits are in first 3 rows
x = 3; // Number of rows that are not raw data (and have spec limits)
dt << select where(Row()>x);
dt << delete rows;
n = dt << Get Column Names("Numeric");
dt2 = dt << Transpose(
columns(n),
Output Table( "SPEC LIMITS" )
);
:Label << Set Name( "Parameter" );
:Row 1 << Set Name( "LSL" );
:Row 2 << Set Name( "USL" );
:Row 3 << Set Name( "Units" );
dt2 << Save("$DESKTOP\SPEC LIMITS.jmp"); // Save data table with table columns transposed.1) 행 삭제 간소화
2) 숫자 열 이름 만 가져옵니다. 데이터 열의 데이터 형식이 다른 경우 문자 열도 변환에 실패합니다.
3) 파일을 저장할 위치를 지정하십시오 ($ HOME, $ TEMP는 탐색 옵션 임). 그리하지 않으면:
I / O 문제.
ReadWrite 모드에서 열 수 없습니다.
시스템이 지정된 파일을 찾을 수 없습니다.
파일을 저장할 수 없습니다.