JSL - Importazione e modifica di fogli di lavoro Excel specifici<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Innanzitutto, sto usando JMP 11
Sto cercando di creare uno script modello che i miei analisti possano utilizzare in futuro. Sono nuovo di JSL e sto cercando di capire come importare un foglio di lavoro specifico in JSL, quindi modificare determinate variabili in modo che siano numeriche e aggiungere un nuovo calcolo.
Quando provo la parte di importazione di questo codice, si apre la procedura guidata di importazione anziché creare una nuova tabella di dati chiamata "I nostri dati".
--
dtmain = Nuova tabella("I nostri dati",
Open("C:\Testing Data.xlsx",
Fogli di lavoro ("Dati finali"),
)
);
Tabella dati correnti (dtmain);
colonna (dtmain, "Tipo") <
column (dtmain, "Risultato1) <
column (dtmain, "Risultato2") <
Nuova colonna ("Rapporto di risultato",
Numerico,
Continuo,
Formato( "Migliore", 12 ),
Formula( :Risultato1 / :Risultato2 )
);
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaIn alternativa c'è la funzione "Pick File()" per scegliere il file specifico nel percorso del file, che può essere integrato nella funzione Open():
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
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( "-" )
)
);Oppure un'altra possibilità è nominare il file excel sempre con lo stesso nome in modo che lo script Open() possa essere utilizzato con questo nome specifico:
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
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( "-" )
)
);
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaNon puoi avere la parte Fogli di lavoro al di fuori di Apri, poiché si riferisce al file da aprire.Non c'è davvero un modo per specificare le impostazioni predefinite per un'apertura generale in JSL.Il JSL ha lo scopo di aprire fogli noti con nomi e impostazioni noti.Scusate.
Brian Corcoran
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificacom'è il formato se vogliamo aprire qualsiasi file?
Ho usato questo ma non ha funzionato
Aprire ();
Fogli di lavoro ( "Pianeti" ) ,
Utilizzare per tutti i fogli ( 1 ) ,
Concatena fogli di lavoro ( 0 ) ,
Crea colonna di concatenazione ( 0 ) ,
1 ,
Ha intestazioni di colonna ( 1 ) ,
Numero di righe nelle intestazioni ( 1 ) ,
Le intestazioni iniziano sulla riga ( 2 ) ,
I dati iniziano su riga ( 3 ) ,
I dati iniziano su colonna ( 1 ) ,
I dati terminano sulla riga ( 0 ) ,
I dati terminano nella colonna ( 0 ) ,
Righe con spanning replicate ( 1 ) ,
Elimina le righe nascoste ( 1 ) ,
Elimina le colonne nascoste ( 1 ) ,
Tratta come una gerarchia ( 0 )
));
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaSi Grazie! L'avevo già provato con il mio codice precedente e stava aprendo una tabella di dati con una sola colonna vuota. Facendo questo insieme a la modifica del codice sopra menzionata ha funzionato.
Grazie molte!
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaIl modo più semplice per ottenere la parte File Open del JSL corretta sarebbe aprire prima il file utilizzando l'interfaccia utente e la procedura guidata di Excel.Quindi, nella tabella aperta, vedrai uno script di origine.Questo script contiene il JSL necessario per riaprire la tabella esattamente nello stesso modo.È possibile fare clic contestualmente sullo script di origine e selezionare Modifica per estrarre il JSL.Un esempio da una mia tabella è:
Aprire (
"C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx" ,
Fogli di lavoro ( "Pianeti" ) ,
Utilizzare per tutti i fogli ( 1 ) ,
Concatena fogli di lavoro ( 0 ) ,
Crea colonna di concatenazione ( 0 ) ,
1 ,
Ha intestazioni di colonna ( 1 ) ,
Numero di righe nelle intestazioni ( 1 ) ,
Le intestazioni iniziano sulla riga ( 2 ) ,
I dati iniziano su riga ( 3 ) ,
I dati iniziano su colonna ( 1 ) ,
I dati terminano sulla riga ( 0 ) ,
I dati terminano nella colonna ( 0 ) ,
Righe con spanning replicate ( 1 ) ,
Elimina le righe nascoste ( 1 ) ,
Elimina le colonne nascoste ( 1 ) ,
Tratta come una gerarchia ( 0 )
));
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaSfortunatamente sta ancora aprendo l'importazione guidata di Excel. Ci sono più fogli di lavoro nel file excel se questo fa la differenza, anche se penso che il comando Fogli di lavoro eviterebbe che questo sia un problema.
Re: JSL - Importazione di fogli di lavoro Excel specifici e modificaProva a separare i comandi di apertura e ridenominazione:
dtmain = Aprire ( "C:\Testing Data.xlsx" , Fogli di lavoro ( "Dati finali" )) ;
dtmain << Imposta nome ( "I nostri dati" ) ;