Ciao @stan_koprowski ,
Ho utilizzato JMP Query Builder per creare la seguente query SQL
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")
- Lo script soprastante eseguirà Left Join.
- Più specificamente, copierà la colonna "Valori" dal secondo file al primo file e creerà la tabella JMP Data_Blending.
Lo script sopra funziona solo se il nome del file viene immesso nella query.
Cosa succede se voglio eseguire lo stesso script su file diversi senza modificare il nome della tabella di riferimento?
Lasciamo che il nome del mio secondo file rimanga costante e voglio eseguire operazioni simili su file diversi.
Ho un altro file Excel, "3rd_file", e non voglio modificarne il nome nella query. Esiste una sintassi che possa copiare il nome del file nella parte cerchiata in rosso dell'immagine seguente?

Ogni aiuto/guida è gradita.
Ciao @Fabbro12 ,
Per gli altri che seguono, uno dei migliori insegnanti per scrivere JSL usando JMP è eseguire prima i passaggi in modo interattivo e poi chiedere a JMP di scrivere lo script.
Vorrei suggerire di guardare alcuni video didattici utilizzando JMP Query Builder della nostra serie online Padroneggiare JMP.
Ulteriori tutorial sull'utilizzo del data wrangling Generatore di query JMP dalla nostra serie Discovery Summit .
Per estendere il join tra tabelle aggiuntive, il processo generale è lo stesso mostrato in precedenza con due tabelle.
Saluti,
Stan