Visualizza una finestra di dialogo Apri file in cui l'utente può selezionare un file ExcelHo creato uno script SQL utilizzando JMP SQL Builder
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" ) )
)
)
)
) << RunLo script precedente svolge il compito di copiare una colonna, ma come posso visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file Excel e un file JMP dopo aver eseguito lo script?
Eventuali suggerimenti?
Ogni volta che devo cambiare il percorso della directory nello script se eseguo lo script su altri file. JMP Query Builder ha una sintassi per visualizzare una finestra di dialogo di apertura file?
Oggetto: Visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file Excel
Oggetto: Visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file ExcelCIAO @stan_koprowski ,
Apprezzo il vostro aiuto. Lo script verrà eseguito solo se il seguente nome file corrisponde
Cosa succede se voglio eseguire lo stesso script su file diversi? Lascia che il mio secondo nome file rimanga costante e voglio eseguire operazioni simili su file diversi. Ho più file excel con un nome diverso (tutti i file hanno le stesse colonne)
Eventuali suggerimenti?
Oggetto: Visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file ExcelCIAO @Jackie_ ,
Hai alcuni errori di sintassi inclusi i punti e virgola mancanti dopo ciascuna delle tue istruzioni pick. Si prega di iniziare a leggere la guida agli script o fare riferimento all'indice degli script per ulteriori dettagli sull'uso della funzione Pick.
Provare il seguente script che richiederà di aprire un file Excel e quindi di aprire una tabella di dati JMP da utilizzare nella query prima di eseguire il join.
Un avvertimento quando si esegue la query sui due tavoli aperti; lo script funzionerà solo se le tabelle di dati esistenti hanno le rispettive colonne in ciascuna delle tabelle di dati aperte.
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")
saluti,
Stan
Oggetto: Visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file ExcelCIAO @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" ) )
)
)
)
)
<< Runne ho usati due Funzioni Pick File(), una dopo l'altra, con la prima che seleziona xlsx e poi la seconda che seleziona il file jmp.Quindi sostituire nello script. Ottenere errori
Eventuali suggerimenti?
Oggetto: Visualizzare una finestra di dialogo Apri file per consentire all'utente di selezionare un file ExcelNon sono sicuro di rispondere a quello che vuoi, ma puoi eseguire 2 funzioni Pick File(), una dopo l'altra, con la prima che seleziona xlsx e poi la seconda che seleziona il file jmp.Quindi sostituisci nel tuo script ed esegui il codice.