단일 셀 테이블 브레이크아웃회사에서 제조하는 장치의 하위 구성 요소 중 하나에 대한 데이터를 분석하려고 합니다. 불행하게도 실제 유용한 데이터는 데이터베이스의 단일 셀로 압축된 테이블에 저장됩니다(아래 참조). 다른 모든 데이터를 유지하면서 이 데이터를 별도의 열과 행으로 나누는 방법이 있습니까(예: 데이터의 모든 새 행에 동일한 일련 번호 할당)? 최종 목표는 각 행에 대한 모든 일련 번호, 스테이션 ID 등의 데이터가 포함된 아래의 엑셀 테이블(손으로 만들어야 했습니다 :P)과 같은 것을 갖는 것입니다.
전에:
| StationID | 시작날짜시간 | 연속물 | FunctionalTestTable |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 압력,유량 설정,유량 편차,유량 값,유량 결과,UUT dP,단계 위치 11.000,0.00,0.050,0.001,통과,11.047,-156 10.000,3.00,0.250,3.097,통과,9.984,-119 10.000,5.00,0.250,4.933,통과,9.990,-103 10.000,10.00,0.500,9.847,통과,9.973,-64 10.000,100.00,5.000,101.048, 통과, 9.968,525 7.000,3.00,0.250,2.957,통과,6.983,-114 7.000,5.00,0.250,4.885, 통과, 6.988,-95 7.000,10.00,0.500,9.822, 통과, 6.990,-48 7.000,80.00,4.000,80.916, 통과, 6.981,518 4.000,3.00,0.250,3.078,통과,3.981,-101 4.000,5.00,0.250,5.110, 통과, 3.988,-76 4.000,10.00,0.500,9.980,통과,3.987,-15 4.000,50.00,2.500,52.123, 통과, 3.993,447 |
후에:
| StationID | 시작날짜시간 | 연속물 | 압력 | 흐름 설정 | 흐름 변동 | 흐름 값 | 흐름 결과 | UUT DP | 단계 위치 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 11.000 | 0.00 | 0.050 | 0.001 | 통과하다 | 11.047 | -156 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 10.000 | 3.00 | 0.250 | 3.097 | 통과하다 | 9.984 | -119 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 10.000 | 5.00 | 0.500 | 4.933 | 통과하다 | 9.990 | -103 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 10.000 | 10.00 | 5.000 | 9.847 | 통과하다 | 9.973 | -64 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 10.000 | 100.00 | 0.250 | 101.048 | 통과하다 | 9.968 | 525 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 7.000 | 3.00 | 0.250 | 2.957 | 통과하다 | 6.983 | -114 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 7.000 | 5.00 | 0.250 | 4.885 | 통과하다 | 6.988 | -95 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 7.000 | 10.00 | 0.500 | 9.822 | 통과하다 | 6.990 | -48 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 7.000 | 80.00 | 4.000 | 80.916 | 통과하다 | 6.981 | 518 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 4.000 | 3.00 | 0.250 | 3.078 | 통과하다 | 3.981 | -101 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 4.000 | 5.00 | 0.250 | 5.110 | 통과하다 | 3.988 | -76 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 4.000 | 10.00 | 0.500 | 9.980 | 통과하다 | 3.987 | -15 |
| 1223년 | 2020년 1월 1일 | ASDF1234 | 4.000 | 50.00 | 2.500 | 52.123 | 통과하다 | 3.993 | 447 |
감사해요!
다윗

데이터 접근Re: 단일 셀 테이블 브레이크아웃@제프_퍼킨슨 JMP 16에서 그렇게 하시길 바랍니다...
Re: 단일 셀 테이블 브레이크아웃데이터를 분석할 수 있는 형태로 만들었다는 소식을 듣고 기쁩니다.
예, 이 작업을 수행하는 스크립트를 만들 수 있습니다. 약간의 작업이 필요하지만 JMP가 일부 작업을 자동으로 생성합니다.
방법에 대한 개요는 다음과 같습니다.
JMP 15는 Text to Columns... 명령을 캡처하지 않지만 작성하기 매우 쉬운 구문입니다.
// Text to columns
Data Table( "Community330288.jmp" ) <<
Text to Columns( columns( :FunctionalTestTable ), Delimiters( NEWLINE ) );
다음 단계는 스택 명령입니다. JMP는 이에 대한 JSL을 결과 테이블의 Source라는 스크립트에 넣습니다.

해당 항목을 마우스 오른쪽 버튼으로 클릭하고 편집을 선택하면 스크립트를 복사하여 붙여넣을 수 있습니다.
stacked_data = Data Table( "Community330288.jmp" ) << Stack(
columns(
:FunctionalTestTable 1,
:FunctionalTestTable 2,
:FunctionalTestTable 3,
:FunctionalTestTable 4,
:FunctionalTestTable 5,
:FunctionalTestTable 6,
:FunctionalTestTable 7,
:FunctionalTestTable 8,
:FunctionalTestTable 9,
:FunctionalTestTable 10,
:FunctionalTestTable 11,
:FunctionalTestTable 12,
:FunctionalTestTable 13,
:FunctionalTestTable 14
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Name( "Non-stacked columns" )(Keep( :StationID, :StartDateTime, :Serial ))
)
다음 단계는 쉼표를 구분 기호로 사용하여 Text to Columns를 반복하는 것입니다.
// Text to columns
stacked_data << Text to Columns( columns( :Data ), Delimiters( "," ) );
JMP가 기록하지 않는 또 다른 사항은 데이터의 첫 번째 행에서 열 이름을 바꾸는 것입니다. 이름 바꾸기는 스크립트로 작성할 수 있지만 직접 작성해야 합니다.
열 수가 항상 같다는 것을 알고 있다면(이 경우 7) 이를 하드 코딩할 수 있습니다. 열 수가 가변적이면 조금 더 작업해야 합니다. 그런 경우에 저희가 건너도록 도와드릴 수 있는 또 다른 다리인지 알려주세요.
for(i=1, i<=7, i++,
column("Data " || char(i))<<SET name=""></SET>
마지막으로 열 이름이 포함된 행을 선택하고 삭제해야 합니다. 아래 열 이름과 값을 하드 코딩했습니다. 그것들이 가변적이라면... 음, 약간의 작업이 더 필요할 뿐입니다.
stacked_data << Select Where( :Pressure == "Pressure" ) << Delete Rows;
마지막으로 일부 열을 숫자로 변경합니다. 각 열에 대해 이 작업을 반복해야 합니다.
:Pressure << set data type(Numeric);
도움이 되길 바랍니다.
질문을 계속하십시오.
Re: 단일 셀 테이블 브레이크아웃완벽하게 작동한 제프! 후속 질문이 있습니다. 이 데이터를 가져와야 할 때마다 다시 실행할 필요가 없도록 모든 단계를 스크립트로 저장하는 방법이 있습니까? 세션 스크립트로 저장하려고 했지만 데이터 브레이크아웃이 저장되지 않았습니다.
Re: 단일 셀 테이블 브레이크아웃안녕 @dpeyer ,
다음은 데이터를 가져오기 위해 호출할 수 있는 추가 기능입니다.
또는 스크립트를 실행하여 텍스트 파일을 JMP로 가져올 수 있습니다.
첨부된 예제 텍스트 파일을 기반으로 가져오기를 수행했습니다.
스크립트와 추가 기능을 모두 업데이트하여 유사한 파일을 단일 파일로 연결할 수 있습니다.
건배,
스탠
Re: 단일 셀 테이블 브레이크아웃헤이 제프,
담당 테스트 엔지니어와 이야기를 나눴습니다. 걱정하지 마세요 :P. 불행하게도 각각 고유한 셀과 각 테이블에서 반복되는 제목이 있는 14,000개의 개별 테이블입니다. 3(14k 중...)의 이미지를 첨부했습니다. 나는 당신의 방법을 시도하고 그것이 어떻게되는지 알려줄 것입니다!

Re: 단일 셀 테이블 브레이크아웃우선, 이런 테이블을 만든 사람은...음...적절한 처벌을 생각할 수 있습니다.
다행스럽게도 JMP를 사용하면 이 문제를 비교적 쉽게 처리할 수 있을 것입니다.
먼저, 열 -> 유틸리티 -> 텍스트를 열로.. . ~처럼 @Mandy_Chambers 제안하지만 구분 기호로 NEWLINE을 사용하십시오.

이렇게 하면 FunctionalTextTables 열 내의 각 줄에 대해 하나의 새 열이 제공됩니다.

이제 사용 테이블->스택 모든 FunctionalTestTable(예: FunctionalTestTable 1, FunctionalTestTable 2 등) 열을 쌓습니다.

그러면 각 열에 대해 하나의 행이 제공됩니다.

이제 사용할 수 있습니다. 텍스트를 열로... 이번에도 쉼표(,)를 구분 기호로 사용합니다.

이제 개별 값의 열을 가져옵니다.

이제 열 이름을 복사하여 붙여넣기만 하면 됩니다. 여기 당신을 도울 팁이 있습니다 열 이름이 실망스럽습니까? 이 시도.그런 다음 사용 Cols->속성 표준화 열의 데이터 유형을 적절하게 숫자로 변경합니다.
당신은 이것들 중 14k의 데이터베이스를 가지고 있다고 말했습니다. 데이터베이스의 14k 다른 테이블입니까, 아니면 한 테이블의 14k 행입니까? 파일->데이터베이스->테이블 열기...를 사용하여 모든 것을 하나의 JMP 데이터 테이블로 가져올 수 있어야 하기 때문에 후자가 되길 바랍니다.
실제로 14k 다른 테이블인 경우 다음을 사용해야 합니다. 테이블->연결 JMP에서 하나의 테이블로 모두 가져올 수 있지만 데이터베이스에 있는 테이블을 확인한 후 다리를 건너도록 하겠습니다.
에 관계없이, 일치하는 셀 선택 청소에 도움이 되는 또 다른 도구입니다. 우리가 조금 더 진전을 이룬 후에 후속 게시물에서 설명하겠습니다.
Re: 단일 셀 테이블 브레이크아웃흠...내가 제대로 하려고 하는 것을 설명하고 있는 것은 아닐 것입니다. 더 나은 설명을 시도하기 위해 이전/이후 예제로 원래 질문을 업데이트했습니다. 또한 이 작업을 수행해야 하는 14,000개의 FunctionalTestTables 데이터베이스가 있으므로 Text to Columns를 수행한 다음 모든 개별 테이블을 바꾸는 것은 실행 가능한 옵션이 아닙니다.
도와주셔서 감사합니다! 정말 감사합니다
Re: 단일 셀 테이블 브레이크아웃
Re: 단일 셀 테이블 브레이크아웃맨디,
조언 해주셔서 감사합니다! 이 메시지를 게시하기 직전에 Text to Columns 유틸리티에 대해 배웠지만 행당 84개의 새 열이 생성되었고 사용하려는 표 데이터의 기능이 손실되었습니다. 원하는 출력의 예를 만들고 이를 원래 게시물에 추가했습니다.
감사해요!
Re: 단일 셀 테이블 브레이크아웃나는 우리의 게시물이 교차했다고 생각합니다. 따라서 Text to columns를 사용한 후 이제 Tables Transpose를 사용하면 테이블을 뒤집어 데이터를 열로 가져올 수 있습니다.
Re: 단일 셀 테이블 브레이크아웃11.000,0.00,0.050,0.001,PASS,11.047,-156과 같은 값을 해당 열에서 가져오고 Columns > Utilities > Text to Cols를 사용하여 해당 열의 다른 항목에 대해 별도의 열을 만들 수 있습니다.
구분 기호 사용 ,-
그러면 다음과 같은 열이 표시됩니다.
11,000 0.00 0.050 0.001 통과 .. 등..
더 많이 또는 다르게 분류하려면 다른 구분 기호나 공백을 사용할 수 있습니다.
바라건대 이것은 당신이하려고했던 것입니다.