在 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 的经验很少,但我为没有人帮助你而感到难过。您能否发布您正在使用的表格的某种净化版本,以便我们可以尝试在上下文中找出它?