JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법JSL 스크립트에서 (2) 테이블을 조인하는 작업을 하고 있습니다.내가 겪고있는 문제는 새로 조인 된 테이블을 저장하는 것입니다.(2) 문제가 있습니다.
첫 번째 문제는 (Test2)의 데이터 열이 문자/명목으로 JMP에 들어오고 숫자/연속이어야 한다는 것입니다.Excel 스프레드시트 열 형식을 숫자로 변경하거나 만들 때 dt3 <<코드 줄로 저장에서 다음 오류가 발생합니다.
'Send' , dt3 << /*###*/save as("B:\JoinTest1_2.jmp") /*###*/에 대한 액세스 또는 평가에서 스크립팅 가능한 개체를 보냅니다.
JSL에서 JMP 데이터 테이블 열 형식을 포맷하려고 할 때 명령으로 저장하는 동안 동일한 오류가 발생합니다.
나는 이것을 몇 시간 동안 검색했지만 이해할 수 없습니다.
여기 내 코드가 있습니다.도움을 주시면 대단히 감사하겠습니다.
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp",
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법사용 중인 다양한 기능에 대한 설명과 예를 보려면 스크립팅 색인으로 이동하는 습관을 들이는 것이 좋습니다.
도움말==>스크립팅 색인
또는 설명을 보려면 함수 이름을 입력하고 "("로 시작하는 함수 이름 위로 마우스를 가져가면 함수에 대한 설명이 표시됩니다.
Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법그것은 챔피언처럼 작동했으므로 열 번호는 열 이름이 아닌 올바른 구문입니다. Bah, 나는 그것을 알아낼 수 있어야 했다.
고맙습니다!Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법좋아, 나는 부분적인 해결책을 발견했다. dt1과 dt2 모두에 대한 스프레드시트는 문자 데이터와 숫자 데이터를 가지고 있다. 그러나 두 엑셀 파일은 어떤 이유로든 dt2 테이블이 그것을 좋아하지 않는다. 숫자 열의 형식을 "숫자" 데이터로 지정해야 했습니다.
따라서 해결 방법이 있지만 프로그래밍 방식으로 매개 변수를 변경할 때 스크립트가 작동하지 않는 이유를 알고 싶습니다.Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법문제가 있다고 생각합니다.지정할 때
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>
JMP는 "Column1"이라는 열을 찾고 있습니다.....예....Excel은 Excel 파일을 읽는 방법의 정의에 지정되어 있기 때문에 Excel 테이블에서 열 이름을 설정합니다.
Has Column Headers( 1 )
따라서 열 위치를 사용하여 데이터 유형 등을 변경하려면 다음을 지정해야 합니다.
column(dt2,1) << data type(Numeric)<<MODELING type=""></MODELING>
Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법네 맞습니다. dt2는 엑셀 파일입니다. 죄송합니다. 이 코드는 실제 파일로 수행하는 작업에 일반적입니다.
동일한 제목(샘플 ID)을 가진 두 개의 열이 있습니다.
코드는 동일한 방식으로 수행됩니다. dt2를 열 때 데이터 열이 숫자/연속적이지 않고 스크립트에서 열 매개변수를 변경하려고 하면 위의 오류가 발생합니다. JMP는 열 머리글이 있는 Excel 데이터를 어떻게 해석합니까? 열 머리글의 텍스트를 사용하여 매개변수를 설정할 수 있습니까?Re: JSL에서 열 형식을 변경하거나 Send Expects Scriptable Object 오류를 처리하는 방법내가 볼 수있는 몇 가지 문제가 있습니다.dt2가 .jmp 데이터 테이블을 여는지, 아니면 Excel 파일을 여는지 잘 모르겠습니다.dt2가 .jmp 파일이라고 지정했지만 Excel 사양이 포함되어 있습니다.
다음으로, "By Matching Columns" 코드의 적절한 형식은 :Column1 = :Column1.....이어야 하지만 그대로 데이터 테이블에 두 열이 모두 존재하면 문제가 되지 않습니다.
데이터 테이블 dt1 및 dt2를 닫기 전후에 데이터 테이블 dt3이 존재하는지 확인하기 위해 몇 가지 명령문을 추가했습니다.
코드를 실행하고 JMP 로그가 출력한 내용을 확인하십시오.
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp", // Is this a JMP table or an Excel..... the .jmp extension seems strange here
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>