Hallo @stan_koprowski ,
Ich habe JMP Query Builder verwendet, um die folgende SQL-Abfrage zu erstellen
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")
- Das obige Skript führt einen Left Join aus.
- Genauer gesagt wird die Spalte „Werte“ aus der zweiten Datei in die erste Datei kopiert und die Data_Blending-JMP-Tabelle erstellt.
Das obige Skript funktioniert nur, wenn der Dateiname in die Abfrage eingegeben wird.
Was ist, wenn ich dasselbe Skript für verschiedene Dateien ausführen möchte, ohne den Namen der Referenztabelle zu ändern?
Lassen Sie den Namen meiner zweiten Datei unverändert und ich möchte ähnliche Vorgänge mit anderen Dateien durchführen.
Ich habe eine weitere Excel-Datei „3rd_file“ und möchte den Namen in der Abfrage nicht ändern. Gibt es eine Syntax, mit der ich den Dateinamen im roten Kreis des folgenden Bildes kopieren kann?

Jede Hilfe/Anleitung ist willkommen.
Hi @Jacksmith12 ,
Für andere, die folgen, ist einer der besten Lehrer für das Schreiben von JSL mit JMP, die Schritte zuerst interaktiv auszuführen und dann JMP zu bitten, das Skript zu schreiben.
Ich möchte vorschlagen, sich einige Lehrvideos mit JMP Query Builder aus unserer Online-Serie anzusehen JMP beherrschen.
Zusätzliche Tutorials zur Verwendung von Data Wrangling JMP Query Builder aus unserer Discovery Summit-Reihe .
Um den Join zwischen zusätzlichen Tabellen zu erweitern, ist der allgemeine Prozess derselbe wie zuvor mit zwei Tabellen gezeigt.
Prost,
Stan