顯示文件開啟對話方塊供使用者選擇 Excel 文件我使用 JMP SQL Builder 建立了一個 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 查詢產生器是否有任何語法來顯示文件開啟對話方塊?
回覆:顯示文件開啟對話框供使用者選擇 Excel 文件
回覆:顯示文件開啟對話框供使用者選擇 Excel 文件你好@斯坦_科普羅夫斯基,
我感謝您的幫助。 僅當以下檔案名稱相符時該腳本才會執行
如果我想在不同的文件上運行相同的腳本怎麼辦? 讓我的第二個檔案名稱保持不變,我想對不同的檔案執行類似的操作。 我有多個不同名稱的 Excel 文件(所有文件都有相同的列)
有什麼建議麼?
回覆:顯示文件開啟對話框供使用者選擇 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")
乾杯,
史丹
回覆:顯示文件開啟對話框供使用者選擇 Excel 文件你好@tx尼爾森,
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 檔案。然後代入腳本中。 出現錯誤
有什麼建議麼?
回覆:顯示文件開啟對話框供使用者選擇 Excel 文件我不確定我是否回答了您想要的內容,但您可以依次運行 2 個 Pick File() 函數,第一個函數選擇 xlsx,然後第二個函數選擇 jmp 檔案。然後代入您的腳本並運行程式碼。