Salva i grafici come file ".jrp" in JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao ragazzi
Durante il mio lavoro mi sono imbattuto nella necessità di salvare i grafici come report in JMP (file ".jrp"), un grafico creato durante l'esecuzione di uno script.
Dopo una lunga giornata di tentativi di tutte le combinazioni di codici per il salvataggio dei file in JSL, sembra che non ci siano elogi per il salvataggio in un tipo di "report" -
solo journal (".jrn"), .pdf e altri...
Inoltre, durante la ricerca nei forum ho scoperto che l'ultima volta che qualcuno ha posto una domanda simile sull'argomento era nel 2011 e nessuno aveva una risposta..
COSÌ:
Posso salvare il file ".jrp" in jsl?
Ri: Salva i grafici come file ".jrp" in JSLIn JMP 16 i < message salverà un report come file .JRP.
Names Default To Here( 1 );
//This message can be sent to any display box object but will be applied to the report window
Open( "$SAMPLE_DATA/Big Class.jmp" );
d = distribution( Column( :height ) );
d << Save Window Report(
"$DOCUMENTS/test.jrp",
embed data( 1 )
);
Ri: Salva i grafici come file ".jrp" in JSLCiao Wendy,
Buona giornata! Sono nuovo nello scripting e sto ancora imparando.
Ho letto il tuo codice e provo ad eseguirlo. Ho capito che se non includo " da(:pin_group) ".. salverà un rapporto JMP
Questa è la linea che ho usato per il test.
dist= dt << Distribution( Continuous Distribution( Column( :Measurement ),Normal Quantile Plot( 0 ) ), by(:pin_group));
Quello che sto cercando di fare è:
1. Ottieni la distribuzione (per gruppo ~ 23 gruppi)
2. Eseguire la modifica sull'istogramma (entrambi gli assi e aggiungere la linea di riferimento - per tutto l'istogramma generato)
3. Salva come JRP (Il tuo esempio - codice), istogramma con la tabella dei dati. >> Qui è dove sto affrontando il problema.
Esiste un codice specifico da salvare come JRP con più istogrammi nello stesso report?
Per favore, istruiscimi. Grazie e apprezzo il tuo aiuto!
Ri: Salva i grafici come file ".jrp" in JSLQuesto è un bel codice. Grazie SM. Se ho più grafici in una pagina con distribuzione unidirezionale, tabelle e generatore di grafici che utilizzano H list Box e V list box, per qualche motivo obj<< get script mostra un errore. Devo usare una directory principale?Ri: Salva i grafici come file ".jrp" in JSLQuesta domanda si presenta abbastanza spesso.Sfortunatamente, non esiste un comando JSL per salvare un report direttamente come file JRP.Questa è stata suggerita in precedenza come funzione da prendere in considerazione in una versione futura di JMP.
Come notato in precedenza, un file JRP è semplicemente un file di testo contenente codice JSL.È possibile estrarre lo script dalla piattaforma e quindi utilizzare Salva file di testo per salvare il percorso del file e lo script in un file di testo con estensione file JRP.Ecco un esempio più semplice che può aiutare a chiarire:
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dist = dt << Distribution(
Continuous Distribution( Column( :weight ) ),
Nominal Distribution( Column( :age ) )
);
distScript = dist << Get Script;
Save Text File(
"C:\temp\DistributionScript.jrp",
"//!
Open( \!"$SAMPLE_DATA\Big Class.jmp\!" );"
||
Char( Name Expr( distScript ) )
);
Close( dt, No Save );
Wait( 2 ); //For demonstration purposes
Open( "C:\temp\DistributionScript.jrp" );
Spero che aiuti!
Ri: Salva i grafici come file ".jrp" in JSLPenso che tu abbia appena preso il codice senza pensare al principio alla base.
Dopo aver testato la funzione, in effetti salva il report, ma spesso ci sono errori dovuti a variabili non definite se il tuo report è qualcosa di complesso.Ma leggiamo il principio alla base del perché la funzione funziona.
Cosa ha scritto MS:
Salva come .jrp automaticamente:
Un .jrp sembra essere solo un .jsl che viene eseguito automaticamente. Il codice contiene 1) un riferimento a una tabella dati salvata oa una tabella dati incorporata e 2) il codice per generare il report. Quindi, dovrebbe essere abbastanza semplice scrivere il salvataggio di un file .jrp.
(sottolineato per enfasi)
Pertanto, se si dispone di uno script che genera un report, è sufficiente salvare lo script come .jrp anziché come .jsl.
Ri: Salva i grafici come file ".jrp" in JSLCiao, grazie per la tua risposta e per il tuo codice
Apprezzo molto che tu abbia dedicato del tempo e creato questa funzione tutta per me,
Il problema è che non funziona davvero nelle mie condizioni... Quello che hai scritto funziona davvero, ma non per il mio esigenze.
Per alcuni motivo salva di nuovo il tavolo e non il file rapporto
Ri: Salva i grafici come file ".jrp" in JSLSalva come .jrp con un po' di interattività:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
Wait(1);
biv<< Bring Window To Front;
Main Menu( "Save As" );
Salva come .jrp automaticamente:
Un .jrp sembra essere solo un .jsl che viene eseguito automaticamente. Il codice contiene 1) un riferimento a una tabella dati salvata oa una tabella dati incorporata e 2) il codice per generare il rapporto. Quindi, dovrebbe essere abbastanza semplice scrivere il salvataggio di un file .jrp.
Ecco un modo che sembra funzionare:
// Function to save .jrp
Save_jrp = Function( {dt, obj, dir, filename},
{embed_data = 0}, // Switch between embedded and referenced data table.
Save Text File(
dir || filename || ".jrp",
If( embed_data,
Char(
Eval Expr(
Expr( dt << get script );
Expr( obj << get script );
)
),
Char(
Eval Expr(
Open( Expr( dt << get path ) );
Expr( obj << get script );
)
)
)
)
);
// Define example input data: data table, report, path and file name
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :Weight ), X( :Height ) );
dt = biv << get data table;
biv << set window title( "MyReport" );
fname = biv << get window title;
path = Get Default Directory();
// Run function
Save_jrp( dt, biv, path, fname );
// Test if it worked
Close( dt, no save );
Wait( 1 );
Open( path || fname || ".jrp" );