SQL クエリ内でファイル () を選択しますか?こんにちは、みんな、
初めて投稿するのでお手柔らかに(;_;)
JMP 内で 2 つのテーブルを結合したいと考えています。 1つは分光器から出力されるデータテーブル、もう1つは参照テーブルです。 テーブルの結合キーが正確に一致しないため、追加しました条件で使用する参照テーブルへの最大および最小キー列 ((if (キー > 最小キー) および (キー < 最大キー) は、他の参照テーブル列をこの行に結合します)。
私は以前に JMP Query ビルダーを使用してこれらを結合したことがあり、非常にうまく機能します。 ただし、ピックファイルオブジェクトをこのクエリに統合できるかどうか疑問に思っています。 基本的に、ユーザーに次のことをお願いします。
- クエリを実行する
- 分析したいファイルに関するポップアップを取得する
- 次にクエリが実行され、任意のキーが 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
Re: 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クエリに2つのPick fileコマンドが必要です。
助言がありますか?
Re: SQL クエリ内でファイル () を選択しますか?やあ@cwillden
心配いりません。アイデアのおかげで、なんとか機能させることができました。 ピックファイルパスを変数に保存し、クエリ内で呼び出しました(提案したように)。 以前にこれを試したとき、成功せずにオープンオブジェクトも使用しました(ファイルを選択->開く-> sqlクエリ)。
必要なのは次のようです:ファイルを選択-> sqlクエリ。
乾杯
Re: SQL クエリ内でファイル () を選択しますか?やあ@SamEllick 、
クエリの外側で Pick File を実行して、パスを変数に保存しようとしましたか?または、クエリを開始して開いているデータ テーブルを参照する前に、ファイルを選択して開きますか?
Query Builder の経験はほとんどありませんが、誰もあなたを助けてくれなかったことを残念に思いました。作業しているテーブルのある種のサニタイズされたバージョンを投稿して、コンテキストでそれを理解しようとすることができますか?