Zeigt ein Dialogfeld zum Öffnen einer Datei an, in dem der Benutzer eine Excel-Datei auswählen kannIch habe mit JMP SQL Builder ein SQL-Skript erstellt
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Limits" =>
"Source(Open(
\!"C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\Limits.xlsx\!",
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( \!"-\!" )
)
))",
"SummaryTable" =>
"\C:\Jay\JMP\JMP Scripts\Python Scripts\JMP scripts\New folder\New folder\SQL 2\SummaryTable.jmp"
]
),
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" ) )
)
)
)
) << RunDas obige Skript übernimmt die Aufgabe, eine Spalte zu kopieren, aber wie kann ich nach der Ausführung des Skripts ein Dialogfeld zum Öffnen einer Datei anzeigen, in dem der Benutzer eine Excel- und eine JMP-Datei auswählen kann?
Irgendwelche Vorschläge?
Jedes Mal muss ich den Verzeichnispfad im Skript ändern, wenn ich das Skript für andere Dateien ausführe. Verfügt JMP Query Builder über eine Syntax zum Anzeigen eines Dialogfelds zum Öffnen einer Datei?
Betreff: Zeigt ein Dialogfeld zum Öffnen einer Datei an, damit der Benutzer eine Excel-Datei auswählen kann
Betreff: Zeigt ein Dialogfeld zum Öffnen einer Datei an, damit der Benutzer eine Excel-Datei auswählen kannHallo @stan_koprowski ,
Ich schätze Ihre Hilfe. Das Skript wird nur ausgeführt, wenn der folgende Dateiname übereinstimmt
Was passiert, wenn ich dasselbe Skript für verschiedene Dateien ausführen möchte? Lassen Sie uns meinen zweiten Dateinamen konstant halten und ich möchte ähnliche Vorgänge für verschiedene Dateien ausführen. Ich habe mehrere Excel-Dateien mit unterschiedlichen Namen (alle Dateien haben dieselben Spalten)
Irgendwelche Vorschläge?
Betreff: Zeigt ein Dialogfeld zum Öffnen einer Datei an, damit der Benutzer eine Excel-Datei auswählen kannHallo @Jackie_ ,
Sie haben einige Syntaxfehler, einschließlich fehlender Semikolons nach jeder Ihrer Auswahlanweisungen. Weitere Informationen zur Verwendung der Pick-Funktion finden Sie im Skript-Index.
Probieren Sie das folgende Skript aus, das Sie zum Öffnen einer Excel-Datei und dann zum Öffnen einer JMP-Datentabelle zur Verwendung in der Abfrage auffordert, bevor Sie die Verknüpfung durchführen.
Seien Sie vorsichtig, wenn Sie die Abfrage für die beiden geöffneten Tabellen ausführen. Das Skript funktioniert nur, wenn die vorhandenen Datentabellen über die entsprechenden Spalten in jeder der geöffneten Datentabellen verfügen.
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")
Prost,
Stan
Betreff: Zeigt ein Dialogfeld zum Öffnen einer Datei an, damit der Benutzer eine Excel-Datei auswählen kannHallo @txnelson ,
dt = Pick File()
dt2 = Pick FIle()
New SQL Query(
Version( 130 ),
Connection( "JMP" ),
JMP Tables(
["Limits" =>
"Source(Open(
\!"dt\!",
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( \!"-\!" )
)
))",
"SummaryTable" => "dt2"
]
),
QueryName( "SummaryTable" ),
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" ) )
)
)
)
)
<< RunIch habe zwei verwendet Wählen Sie File()-Funktionen nacheinander aus, wobei die erste die xlsx-Datei und die zweite die jmp-Datei auswählt.Dann ersetzen Sie es im Skript. Fehler bekommen
Irgendwelche Vorschläge?
Betreff: Zeigt ein Dialogfeld zum Öffnen einer Datei an, damit der Benutzer eine Excel-Datei auswählen kannIch bin mir nicht sicher, ob ich das beantworte, was Sie wollen, aber Sie können zwei Pick File()-Funktionen nacheinander ausführen, wobei die erste die XLSX-Datei und dann die zweite die JMP-Datei auswählt.Ersetzen Sie es dann in Ihr Skript und führen Sie den Code aus.