Salut @stan_koprowski ,
J'ai utilisé JMP Query Builder pour créer la requête SQL suivante
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")
- Le script ci-dessus effectuera une jointure gauche.
- Plus précisément, il copiera la colonne « Valeurs » du 2e fichier dans le 1er fichier et créera la table JMP Data_Blending.
Le script ci-dessus ne fonctionne que si le nom du fichier est saisi dans la requête.
Que faire si je souhaite exécuter le même script sur différents fichiers sans modifier le nom de la table de référence ?
Supposons que mon deuxième nom de fichier reste constant et que je souhaite effectuer des opérations similaires sur différents fichiers.
J'ai un autre fichier Excel « 3rd_file » et je ne souhaite pas modifier son nom dans la requête. Existe-t-il une syntaxe permettant de copier le nom du fichier dans le cercle rouge de l'image suivante ?

Toute aide/orientation est appréciée.
Salut @Jacksmith12 ,
Pour les autres, l'un des meilleurs enseignants pour écrire JSL à l'aide de JMP consiste à effectuer d'abord les étapes de manière interactive, puis à demander à JMP d'écrire le script.
J'aimerais vous suggérer de regarder des vidéos d'instructions à l'aide de JMP Query Builder de notre série en ligne Maîtriser JMP.
Tutoriels supplémentaires sur la gestion des données à l'aide de JMP Query Builder de notre série Discovery Summit .
Pour étendre la jointure entre des tables supplémentaires, le processus général est le même que celui indiqué précédemment avec deux tables.
à votre santé,
Stan