<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하십니까,
먼저 JMP 11을 사용하고 있습니다.
분석가가 나중에 사용할 수 있는 템플릿 스크립트를 만들려고 합니다. 저는 JSL을 처음 사용하고 JSL에서 특정 워크시트를 가져온 다음 특정 변수를 숫자로 수정하고 새 계산을 추가하는 방법을 알아 내려고 노력 중입니다.
이 코드의 가져오기 부분을 시도하면 "Our Data"라는 새 데이터 테이블을 만드는 대신 가져오기 마법사가 열립니다.
--
dtmain = New Table("우리 데이터",
Open("C:\Testing Data.xlsx",
워크시트( "최종 데이터" ),
)
);
현재 데이터 테이블(dtmain);
열(dtmain, "유형") <<데이터 유형(숫자) <<모델링 유형(서수) <<형식(최상, 12);
열(dtmain, "결과1) <<데이터 유형(숫자) <<모델링 유형(연속) <<형식(최상, 12);
열(dtmain, "결과2") <<데이터 유형(숫자) <<모델링 유형(연속) <<형식(최상, 12);
새 열( "결과 비율",
숫자,
마디 없는,
형식( "최상", 12 ),
공식( :결과1 / :결과2)
);
대안으로, Open() 함수에 통합될 수 있는 파일 경로에서 특정 파일을 선택하기 위한 "Pick File()" 함수가 있습니다:
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:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx" ,
워크시트 ( "행성" ) ,
모든 시트에 사용 ( 1 ) ,
워크시트 연결 ( 0 ) ,
연결 열 만들기 ( 0 ) ,
1 ,
열 머리글 있음 ( 1 ) ,
헤더의 행 수 ( 1 ) ,
헤더는 행에서 시작 ( 2 ) ,
행에서 데이터 시작 ( 삼 ) ,
열에서 데이터 시작 ( 1 ) ,
데이터가 행에서 끝남 ( 0 ) ,
열에서 데이터 끝 ( 0 ) ,
복제된 스팬 행 ( 1 ) ,
숨겨진 행 억제 ( 1 ) ,
숨겨진 열 억제 ( 1 ) ,
계층으로 취급 ( 0 )
));
불행히도 여전히 Excel 가져오기 마법사를 여는 중입니다. 차이가 있는 경우 Excel 파일에 여러 워크시트가 있지만 Worksheets 명령을 사용하면 문제가 되지 않을 것이라고 생각합니다.
열기 명령과 이름 바꾸기 명령을 분리하십시오.
dtmain = 열려 있는 ( "C:\Testing Data.xlsx" , 워크시트 ( "최종 데이터" )) ;
dtmain << 세트 이름 ( "우리 데이터" ) ;