JSL - Importazione di fogli di lavoro Excel specifici e modifica<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 in 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",
Apri("C:\Dati di test.xlsx",
Fogli di lavoro( "Dati finali" ),
)
);
Tabella dei dati correnti (dtmain);
colonna (dtmain, "Tipo") <
colonna (dtmain, "Risultato1) <
colonna (dtmain, "Result2") <
Nuova colonna( "Rapporto risultati",
Numerico,
Continuo,
Formato( "Migliore", 12 ),
Formula( :Risultato1 / :Risultato2 )
);
Ri: JSL - Importazione di un foglio di lavoro Excel specifico e modificaIn alternativa, esiste la funzione "Pick File()" per scegliere il file specifico nel percorso del file, integrabile 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( "-" )
)
);
Ri: JSL - Importazione di un foglio di lavoro Excel specifico e modificaNon puoi avere la parte Fogli di lavoro al di fuori dell'Aperto, in quanto 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.Scusa.
Brian Corcoran
Ri: JSL - Importazione di un foglio di lavoro Excel specifico e modificacome è 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 ) ,
Concatenare 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 sulla riga ( 3 ) ,
I dati iniziano sulla colonna ( 1 ) ,
I dati terminano sulla riga ( 0 ) ,
I dati terminano sulla colonna ( 0 ) ,
Righe estese replicate ( 1 ) ,
Elimina le righe nascoste ( 1 ) ,
Elimina colonne nascoste ( 1 ) ,
Tratta come Gerarchia ( 0 )
));
Ri: JSL - Importazione di un foglio di lavoro Excel specifico 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 con la modifica del codice sopra menzionata ha funzionato.
Grazie mille!
Ri: JSL - Importazione di un foglio di lavoro Excel specifico e modificaIl modo più semplice per ottenere la parte di apertura file 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 Source.Questo script contiene il JSL necessario per riaprire la tabella esattamente nello stesso modo.È possibile fare clic contestuale 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 ) ,
Concatenare 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 sulla riga ( 3 ) ,
I dati iniziano sulla colonna ( 1 ) ,
I dati terminano sulla riga ( 0 ) ,
I dati terminano sulla colonna ( 0 ) ,
Righe estese replicate ( 1 ) ,
Elimina le righe nascoste ( 1 ) ,
Elimina colonne nascoste ( 1 ) ,
Tratta come Gerarchia ( 0 )
));
Ri: JSL - Importazione di un foglio di lavoro Excel specifico 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 impedirebbe che ciò sia un problema.
Ri: JSL - Importazione di un foglio di lavoro Excel specifico e modificaProva a separare i comandi di apertura e di ridenominazione:
dtmain = Aprire ( "C:\Dati di prova.xlsx" , Fogli di lavoro ( "Dati finali" )) ;
dtmain << Imposta nome ( "I nostri dati" ) ;