Scegli File () all'interno della query SQL?Ciao a tutti,
È la prima volta che scrivo quindi vacci piano con me 
Vorrei unire due tabelle insieme all'interno di JMP. La prima è una tabella di dati emessa da uno spettrometro, l'altra è una tabella di riferimento. Le chiavi di unione per le tabelle non corrispondono esattamente, quindi ho aggiunto colonne chiave massima e minima nella tabella di riferimento da utilizzare nelle condizioni ((se (chiave > chiave min) e (chiave < chiave massima) uniscono altre colonne della tabella di riferimento a questa riga).
In precedenza ho utilizzato il generatore di query JMP per unirli insieme e funziona abbastanza bene. Tuttavia ora mi chiedo se sia possibile integrare l'oggetto pick file in questa query. In sostanza vorrei che l'utente:
- Eseguire la query
- Ottieni un pop-up su quale file vorrebbero analizzare
- La query verrebbe quindi eseguita, abbinando qualsiasi chiave alla tabella di riferimento in cui rientra nella regione minkey - maxkey.
- L'utente recupera quindi la tabella di input, con colonne aggiuntive in cui la query è stata in grado di eseguire il join.
Sono stato in giro per un paio di giorni e non ho avuto gioia. Lo script seguente richiede l'input del file pick, restituisce solo la tabella, non tenta affatto di creare un join.
Qualsiasi aiuto/guida è apprezzato.
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: Pick File () all'interno della query SQL?Ciao @SamEllick
Sto riscontrando problemi con la sintassi Pick File nella query SQL. Potete aiutarmi?
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
Voglio avere due comandi Pick file nella query SQL.
Eventuali suggerimenti?
Re: Pick File () all'interno della query SQL?Ciao @cwillden
Nessun problema, grazie per l'idea, sono riuscito a farlo funzionare. Ho memorizzato il percorso del file pick in una variabile e poi l'ho chiamato all'interno della query (proprio come hai suggerito). Quando l'ho provato in precedenza, ho usato anche l'oggetto aperto (scegli file -> apri -> query sql), senza scucess.
Sembra che tu abbia solo bisogno di: seleziona file -> query sql.
Saluti
Re: Pick File () all'interno della query SQL?Ciao @SamEllick ,
Hai provato a fare il Pick File al di fuori della query e a memorizzare il percorso in una variabile?Oppure, scegli il file e aprilo prima di avviare la query e fare riferimento alla tabella dei dati aperti?
Ho pochissima esperienza con Query Builder, ma mi dispiaceva che nessuno ti avesse aiutato.Puoi pubblicare una sorta di versione sterilizzata dei tavoli con cui stai lavorando in modo che possiamo provare a capirlo nel contesto?