在 SQL 查詢中選擇文件 ()?大家好,
第一次發帖所以對我放輕鬆 
我想在 JMP 中將兩個表連接在一起。 第一個是光譜儀輸出的數據表,另一個是參考表。 表的連接鍵不完全匹配,所以我添加了引用表中的最大和最小鍵列以用於條件((if(key > min key)和(key < max key)將其他引用表列連接到該行)。
我以前使用 JMP 查詢構建器將它們連接在一起,效果很好。 但是我現在想知道是否可以將選擇文件對象集成到這個查詢中。 基本上我希望用戶:
- 運行查詢
- 獲取有關他們想要分析哪個文件的彈出窗口
- 然後查詢將運行,將任何鍵與它落在 minkey - maxkey 區域內的引用表匹配。
- 然後用戶取回輸入表,其中包含查詢能夠進行連接的其他列。
我已經胡鬧了幾天,沒有任何快樂。 下面的腳本要求選擇文件輸入,只返回表,它根本不嘗試進行連接。
任何幫助/指導表示讚賞。
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Reference Table" =>
"ReferenceTablePath",
"Input Data" =>
Open(
Pick File(
"Select JMP File",
"InputData Directory Path",
{"All Files|*"},
1,
0,
"newJmpFile.jmp"),
columns(
New Column( "Key", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Intensity", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 0 ),
Column Names Start( 1 ),
Data Starts( 25 ),
Lines To Read( "All" ),
Year Rule( "20xx" )))]
),
QueryName( "SQLQuery2" ),
Select(
Column( "Key", "t1" ),
Column( "Intensity", "t1" ),
Column( "Value1", "t2" ),
Column( "Value2", "t2" )
),
From(
Table( "Input Data", Alias( "t1" ) ),
Table(
"Reference Table",
Alias( "t2" ),
Join(
Type( Left Outer ),
GE( Column( "Key", "t1" ), Column( "MinKey", "t2" ) ) &
LE( Column( "Key", "t1" ), Column( "MaxKey", "t2" ) )
)
)
)
) << Run
回复:在 SQL 查詢中選擇文件 ()?你好@SamEllick
我在 SQL 查詢中遇到 Pick File 語法問題。 你能幫我嗎?
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Limits" =>
<STRONG>"Source(Open(
\!"C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\Limits.xlsx\!"</STRONG>,
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( \!"-\!" )
)
))",
<STRONG>"SummaryTable" =>
"\C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\SummaryTable.jmp"
]</STRONG>
),
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
我想在 SQL 查詢中有兩個 Pick file 命令。
有什麼建議麼?
回复:在 SQL 查詢中選擇文件 ()?你好@cwillden
不用擔心,謝謝你的想法,我設法讓它發揮作用。 我將選擇文件路徑存儲在一個變量中,然後在查詢中調用它(就像你建議的那樣)。 當我之前嘗試過這個時,我也使用了打開的對象(選擇文件 -> 打開 -> sql 查詢),但沒有成功。
看來您只需要:選擇文件-> sql 查詢。
乾杯
回复:在 SQL 查詢中選擇文件 ()?你好@SamEllick ,
您是否嘗試過在查詢之外執行 Pick File 並將路徑存儲在變量中?或者,在啟動查詢並引用打開的數據表之前選擇文件並打開它?
我對 Query Builder 的經驗很少,但我為沒有人幫助你而感到難過。您能否發布您正在使用的表格的某種淨化版本,以便我們可以嘗試在上下文中找出它?