<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
먼저 JMP 11을 사용하고 있습니다.
분석가가 나중에 사용할 수 있는 템플릿 스크립트를 만들려고 합니다. 저는 JSL을 처음 사용하며 JSL에서 특정 워크시트를 가져온 다음 특정 변수를 숫자로 수정하고 새 계산을 추가하는 방법을 알아내려고 합니다.
이 코드의 가져오기 부분을 시도하면 "Our Data"라는 새 데이터 테이블을 만드는 대신 가져오기 마법사가 열립니다.
--
dtmain = New Table("우리 데이터",
열기("C:\Testing Data.xlsx",
워크시트( "최종 데이터" ),
)
);
현재 데이터 테이블(dtmain);
column (dtmain, "Type") <
column (dtmain, "Result1) <<데이터 유형(Numeric) <<모델링 유형(Continuous) <
column (dtmain, "Result2") <<데이터 유형(Numeric) <<모델링 유형(Continuous) <
새 열( "결과 비율",
숫자,
마디 없는,
형식( "최고", 12 ),
수식( :결과1 / :결과2 )
);
대안으로 파일 경로에서 특정 파일을 선택하는 "Pick File()" 기능이 있으며 Open() 기능에 통합될 수 있습니다.
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
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( "-" )
)
);또는 다른 가능성은 Excel 파일의 이름을 항상 동일한 이름으로 지정하여 Open() 스크립트를 이 특정 이름으로 사용할 수 있도록 하는 것입니다.
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
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( "-" )
)
);
열려는 파일을 참조하므로 열기 외부에 워크시트 부분을 포함할 수 없습니다.JSL에서 일반 공개에 대한 기본 설정을 지정하는 방법은 실제로 없습니다.JSL은 알려진 이름과 설정으로 알려진 시트를 열기 위한 것입니다.죄송합니다.
브라이언 코코란
네 감사합니다! 이전 코드로 이전에 시도했는데 빈 열이 하나만 있는 데이터 테이블을 여는 중이었습니다. 이렇게 하면 ~와 함께 위에서 언급한 코드 변경이 작동했습니다.
매우 감사합니다!
올바른 JSL의 파일 열기 부분을 얻는 가장 쉬운 방법은 먼저 UI 및 Excel 마법사를 사용하여 파일을 여는 것입니다.그러면 열린 테이블에 소스 스크립트가 표시됩니다.이 스크립트에는 정확히 동일한 방식으로 테이블을 다시 여는 데 필요한 JSL이 포함되어 있습니다.소스 스크립트를 컨텍스트 클릭하고 편집을 선택하여 JSL을 추출할 수 있습니다.내 테이블의 예는 다음과 같습니다.
열려 있는 (
"C:\테스트데이터\엑셀\엑셀 2007+\MultipleDiffSettings.xlsx" ,
워크시트 ( "행성" ) ,
모든 시트에 사용 ( 1 ) ,
워크시트 연결 ( 0 ) ,
연결 열 만들기 ( 0 ) ,
1 ,
열 머리글 있음 ( 1 ) ,
헤더의 행 수 ( 1 ) ,
헤더는 행에서 시작 ( 2 ) ,
데이터가 행에서 시작 ( 삼 ) ,
데이터가 열에서 시작 ( 1 ) ,
데이터가 행에서 끝남 ( 0 ) ,
데이터가 열에서 끝남 ( 0 ) ,
복제된 스팬 행 ( 1 ) ,
숨겨진 행 억제 ( 1 ) ,
숨겨진 열 억제 ( 1 ) ,
계층 구조로 취급 ( 0 )
));
불행히도 여전히 Excel 가져오기 마법사를 여는 중입니다. 차이가 나는 경우 Excel 파일에 여러 워크시트가 있지만 Worksheets 명령을 사용하면 문제가 발생하지 않을 것이라고 생각합니다.
열기 및 이름 바꾸기 명령을 분리하십시오.
dtmain = 열려 있는 ( "C:\테스트 데이터.xlsx" , 워크시트 ( "최종 데이터" )) ;
dtmain << 이름 설정 ( "우리 데이터" ) ;