<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao ragazzi
Sono nuovo di JMP Pro e del suo linguaggio di scripting, nonché di quei forum SAS.
Se pensi che io inserisca la mia domanda nel posto sbagliato, fammelo sapere e per favore scusami,
Il mio obiettivo è creare uno script che:
apri il file CSV
crea un grafico di variabilità basato sulla tabella di questo file
salva il risultato come file JRP
Adesso alcuni dettagli .
Il file CSV potrebbe essere enorme nel numero di riga. Questo file inizia con la riga dei nomi delle colonne. Supponiamo che il percorso completo di questo file sia " PathToCSV ".
Ho uno script che crea un grafico di variabilità di cui ho bisogno. Supponiamo che il testo di questo script sia " ChartScript ".
Di conseguenza voglio ottenere un file .JRP che conterrà sia i dati dal file CSV che dal grafico, supponiamo che il percorso del file JRP desiderato sia " DesiredReportPath ".
So che i nomi delle colonne nel mio script che crea il grafico sono corretti e quelle colonne sono effettivamente presenti nel file CSV.
Più dettagli:
In realtà sto scrivendo un'applicazione C # che automatizza il processo di analisi del log di test. Fa molte cose (irrilevanti per JMP).
Abbiamo un ambiente che crea molti file csv con schemi noti.
Abbiamo alcuni specialisti che sanno aprire quei file in JMP Pro e creare i grafici di cui hanno bisogno.
Quindi quelle persone possono darmi copioni precisi per quei grafici. Hanno grafici diversi per diversi schemi di CSV.
Sto unendo quei csv con gli stessi schemi nella mia app, quindi voglio utilizzare l'interoperabilità JMP per eseguire lo script che voglio costruire.
Eseguirò lo script diverso per ogni file CSV unito. Quindi ho bisogno di creare un modello per lo script.
Domanda : Quale sarebbe il copione per fare quello che voglio?
Suppongo che abbia la seguente costruzione:
X1 PathToCSV X2 GraficoScript X3 DesiredReportPath
Dove X1 apre il file CSV e crea una tabella di dati,
X2 apre una nuova scheda (?) per il grafico e lo crea
X3 salva tutto il lavoro nel percorso desiderato
Saluti,
Artem;
In questo caso vc è il grafico di variabilità, è la variabile (handle) per l'indirizzamento della finestra del report.
vc<
Nell'esempio ho salvato la rivista "jvs" come diversi tipi di file. Avremmo potuto semplicemente salvare "vc" come uno di quei tipi di file.
L'invio di più report a un journal e quindi il salvataggio del journal è comodo quando non voglio perdere tempo a creare una finestra di report più carina, ad esempio il generatore di applicazioni.
C'è così tanta flessibilità con JSL che puoi davvero costruire quasi tutto ciò che puoi immaginare.
Grazie per la risposta Byron!
La sceneggiatura che hai dato è quasi ciò di cui ho bisogno.
Tuttavia, ci sono alcune cose che mi mancano/non capisco.
Penso di avere un problema con le seguenti due righe:
jvs=vc<
jvs << save journal( "C:/testJRN.jrn" );
Prima di tutto, sono collegati? Significato, se voglio salvare solo un'immagine del grafico di variabilità, dovrei ancora avere il file
" jvs=vc< " riga nel mio modello?
E so per certo che avrò bisogno solo di due opzioni (quindi ho bisogno di due modelli o modello con parametro aggiuntivo):
1 - Salva l'immagine del grafico creato
2 - Salva qualcosa che
- contiene tutti i dati da CSV
- contiene il grafico creato
- consente di lavorare ulteriormente con due sopra
Quindi, il diario è l'opzione corretta per il secondo? O "relazione"?
Potrebbe essere l'ultima stringa dovrebbe essere qualcosa del tipo:
jsv<< save report("C:/testReport.jrp");
Saluti,
Artem
Sospetto che questa risposta sia una grossolana semplificazione, ma solo aprire un CSV (supponendo che i dati siano ben strutturati) generare un report (JMP chiama report di output), inserire nel journal il risultato e salvare il journal non è terribilmente complesso.
JMP scrive la maggior parte di questo per te. È sufficiente acquisire gli script dallo script Source nel file aperto e lo script del report dal report sulla variabilità. La formattazione del CSV prima di aprirlo in JMP è la parte difficile.
Spero che questo aiuti,
Byron
esempio: (passato questo in una finestra di script JMP
path=get default directory();//ottiene la directory in cui è salvato questo script
//JMP scrive questa istruzione quando apre il file. Controlla lo script di origine in una tabella JMP da un CSV
dt=Apri(
"C:\Program Files\SAS\JMPPRO\11\Samples\Import Data\Book1.csv",
// questo file potrebbe trovarsi in una posizione diversa nell'installazione.
colonne(
Column( "1", Numeric, nominal, Format( "Best", 10 ) ),//Ho reso questa colonna nominale per l'esempio
Column( "2", Numeric, nominal, Format( "Best", 10 ) ),//Ho reso questa colonna nominale per l'esempio
Colonna( "3", Numerico, Continuo, Formato( "Migliore", 10 ) )
),
Impostazioni di importazione(
Fine riga (CRLF, CR, LF),
Fine del campo( Virgola, CSV( 1 ) ),
Striscia citazioni( 0 ),
Usa l'apostrofo come virgolette ( 0 ),
Scansiona l'intero file( 1 ),
Tratta le colonne vuote come numeriche ( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Etichette( 1 ),
Nomi di colonna Inizio( 1 ),
Inizio dati( 2 ),
Righe da leggere( "Tutte"),
Regola dell'anno( "20xx" )
)
);
//jmp ha scritto lo script per questo grafico di variabilità. Basta copiare lo script dal report
vc=dt<
Y( :Nome( "3" ) ),
X( :Nome( "1" ), :Nome( "2" ) ),
Massimo Iter( 100 ),
Limite conv( 0.00000001 ),
Ascisse di integrazione numerica( 128 ),
Numero Funzione Evals( 65536 ),
Tipo di analisi( Nome( "Scegli la migliore analisi (EMS REML bayesiano)" ) ),
Grafico sviluppo standard( 0 )
);
jvs=vc<
// salva il journal "jvs" nel percorso, concatenato al nome del file
jvs << salva journal( percorso || "testJRN.jrn" );
//o altri tipi di file convenienti
jvs << salva pdf( percorso || "testPDF.pdf" );
jvs << salva immagine( percorso || "testPNG.png", png );
jvs << Salva HTML interattivo( percorso || "testHTML.htm" );
jvs << Salva MSWord( percorso || "testDOC.doc" );