사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자 표시JMP SQL 빌더를 사용하여 SQL 스크립트를 생성했습니다.
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Limits" =>
"Source(Open(
\!"C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\Limits.xlsx\!",
Worksheets( \!"Limits\!" ),
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( \!"-\!" )
)
))",
"SummaryTable" =>
"\C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\SummaryTable.jmp"
]
),
QueryName( "SQLQuery11" ),
Select(
Column( "Test Number", "t2" ),
Column( "Test Name", "t2" ),
Column( "Test Units", "t2" ),
Column( "LL", "t2" ),
Column( "UL", "t2" ),
Column( "N", "t2" ),
Column( "Failing Soft Bin", "t1" )
),
From(
Table( "Limits", Alias( "t1" ) ),
Table(
"SummaryTable",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "Test Number", "t2" ), Column( "Test Number", "t1" ) )
& EQ( Column( "Test Name", "t2" ), Column( "Test Name", "t1" ) ) &
EQ( Column( "Test Units", "t2" ), Column( "Test Units", "t1" ) )
)
)
)
) << Run위의 스크립트는 열을 복사하는 작업을 수행하지만 스크립트를 실행한 후 사용자가 Excel 파일과 JMP 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시하려면 어떻게 해야 합니까?
어떤 제안?
다른 파일에서 스크립트를 실행하면 스크립트에서 디렉토리 경로를 변경해야 할 때마다. JMP 쿼리 빌더에 파일 열기 대화 상자를 표시하는 구문이 있습니까?
Re: 사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시합니다.
Re: 사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시합니다.안녕 @stan_koprowski ,
당신의 도움에 감사드립니다. 스크립트는 다음 파일 이름이 일치하는 경우에만 실행됩니다.
다른 파일에서 동일한 스크립트를 실행하려면 어떻게 해야 합니까? 두 번째 파일 이름은 그대로 유지하고 다른 파일에서 유사한 작업을 수행하고 싶습니다. 이름이 다른 Excel 파일이 여러 개 있습니다(모든 파일의 열이 동일함).
어떤 제안?
Re: 사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시합니다.안녕 @재키_ ,
각 pick 문 뒤에 누락된 세미콜론을 포함하여 일부 구문 오류가 있습니다. Pick 기능 사용에 대한 자세한 내용은 스크립팅 가이드를 읽거나 스크립팅 인덱스를 참조하십시오.
Excel 파일을 열라는 메시지를 표시한 다음 조인을 수행하기 전에 쿼리에서 사용할 JMP 데이터 테이블을 열라는 메시지를 표시하는 다음 스크립트를 사용해 보십시오.
열린 두 테이블에서 쿼리를 실행할 때 주의 사항; 스크립트는 기존 데이터 테이블에 열려 있는 각 데이터 테이블에 해당 열이 있는 경우에만 작동합니다.
Names Default To Here( 1 );
//Prompt to select and open an MS Excel file
dt1 = Open( Pick File( "Select Excel File", "$DOCUMENTS", {"Excel Files|csv;xlsx;xls", "All Files|*"}, 1, 0 ), Invisible );
//Prompt to select an open a JMP data table
dt2 = Open( Pick File( "Select JMP File", "$DOCUMENTS", {"JMP Files|jmp", "All Files|*"}, 1, 0 ), Invisible );
//Perform a left outer join on the tables using the "Name" Column
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["1st_file" =>
"Source(Open( \!"dt1\!",
Worksheets( \!"worksheet\!" ),
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( 1 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( \!"-\!" )
)
))",
"2nd_file" => "Source(Open( \!"dt2\!"))"]
),
QueryName( "Data_Blending" ),
Select(
Column( "Name", "t2" ),
Column( "Enable", "t2" ),
Column( "Type", "t2" ),
Column( "Phase", "t2" ),
Column( "Values", "t3" )
),
From(
Table( "2nd_file", Alias( "t2" ) ),
Table(
"1st_file",
Alias( "t3" ),
Join(
Type( Left Outer ),
EQ( Column( "Name", "t2" ), Column( "Name", "t3" ) )
)
)
)
) << Run;
//Close source files without saving
Close(dt1, "NoSave");
Close(dt2, "NoSave")
건배,
스탠
Re: 사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시합니다.안녕 @txnelson ,
dt = Pick File()
dt2 = Pick FIle()
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Limits" =>
"Source(Open(
\!"dt\!",
Worksheets( \!"Limits\!" ),
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( \!"-\!" )
)
))",
"SummaryTable" => "dt2"
]
),
QueryName( "SummaryTable" ),
Select(
Column( "Test Number", "t2" ),
Column( "Test Name", "t2" ),
Column( "Test Units", "t2" ),
Column( "LL", "t2" ),
Column( "UL", "t2" ),
Column( "N", "t2" ),
Column( "Failing Soft Bin", "t1" )
),
From(
Table( "Limits", Alias( "t1" ) ),
Table(
"SummaryTable",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "Test Number", "t2" ), Column( "Test Number", "t1" ) )
& EQ( Column( "Test Name", "t2" ), Column( "Test Name", "t1" ) ) &
EQ( Column( "Test Units", "t2" ), Column( "Test Units", "t1" ) )
)
)
)
)
<< Run나는 두 가지를 사용 File() 함수를 차례로 선택합니다. 첫 번째 함수는 xlsx를 선택한 다음 두 번째 함수는 jmp 파일을 선택합니다.그런 다음 스크립트로 대체합니다. 오류 발생
어떤 제안?
Re: 사용자가 Excel 파일을 선택할 수 있도록 파일 열기 대화 상자를 표시합니다.나는 당신이 원하는 것에 대답하고 있는지 확실하지 않지만 첫 번째는 xlsx를 선택한 다음 두 번째는 jmp 파일을 선택하여 2 개의 Pick File() 기능을 차례로 실행할 수 있습니다.그런 다음 스크립트로 대체하고 코드를 실행합니다.