Ciao a tutti,
Sto aggiornando uno script su cui ho lavorato che dopo l'analisi è terminata, voglio salvare un'immagine della finestra del rapporto e quindi salvare uno script nella tabella dei dati che aprirà l'immagine se l'utente lo desidera Quello. Ogni analisi genererà una nuova immagine del rapporto e ho bisogno dello script salvato nel riferimento alla tabella dei dati che ha aggiornato il nome del file (sono tutti nella stessa directory).
Nota a margine: devo salvare il rapporto come immagine perché ho alcune tabelle di dati temporanee a cui si fa riferimento nella creazione del rapporto e non voglio salvare quelle tabelle di dati, sebbene le salvi nello script della tabella di dati sarebbe anche bello se qualcuno avesse una soluzione per questo.
Ad ogni modo, quello con cui sto attraversando un periodo difficile è quando il New Script viene salvato nella tabella dei dati, scrive le variabili nel mio script principale, non i caratteri che voglio. Ho provato Eval Insert() e Eval(Substitute(Expr())) come modi per provare a ottenerlo, ma non funziona nulla.
Di seguito è riportato un esempio di uno di questi risultati dall'analisi:

L'analisi crea effettivamente un'altra tabella di dati per costruire l'immagine GB in basso a destra, questa tabella di dati:

Ma, quando l'analisi è terminata, o l'utente esegue un'analisi su un'altra colonna, questa tabella di dati viene eliminata e non ho più un riferimento ad essa - ho provato a utilizzare <
Invece, devo salvare la finestra come png, che va bene, e dovrebbe apparire come la prima immagine sopra, ma come PNG. Un'iterazione del codice nello script in cui lo sto facendo è qui:
Button Box( "Save Results to DT",
path = dt << Get Path; //gets the dt's path
l = Length( path ) - Length( dt << GetName ) - 4; // takes off dt name and .jmp extension
dir = Left( path, l ); //actual path where the PNG file is supposed to be saved
If( N Items( Icols ) == 0 & N Items( Xcols ) == 0,
pic_name = "Self_Corr_" || ycols[1] || ".png"; //name of the picture
nwin[Outline Box( 1 )] << Save Picture( dir || pic_name, "png" ); //saves the report window as a PNG to the directory<BR /> full_name=dir||pic_name;
dt << New Script( "Self Corr of " || ycols[1], Open( full_name ) ); // the new script is supposed to substitute the actual dir name and pic_name, not the variables.
);
)
Crea uno script per la tabella dati simile a questo:

Ma lo script dovrebbe essere invece questo:

Dove ho copiato/incollato ciò che dovrebbe essere nello script per mostrare cosa sto cercando di fare nello script principale. Questo dovrebbe essere fattibile, ma tutti i tentativi che ho fatto non funzionano.
Come accennato in precedenza, sono d'accordo con il salvataggio dei report come PNG e l'utente apre semplicemente il report come PNG in JMP, ma se possibile, preferirei che le tabelle di dati temporanee fossero salvate in New Script() in modo che quando il l'utente fa clic sullo script, genererà la tabella di dati temporanea necessaria per la piena capacità interattiva, ma sospetto che sarà più difficile.
Grazie per qualsiasi contributo o suggerimento!,
DS
Se lo desideri, puoi archiviare la creazione della tabella come script di tabella, ma questi possono diventare piuttosto grandi e occupare molto spazio. Puoi anche memorizzare l'immagine nella tabella. Di seguito sono riportate tre diverse opzioni, ricordati di controllare come appaiono gli script all'interno della tabella
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Saving table creation
dt_script = dt << Get Script;
Eval(EvalExpr(
dt << New Script("Create Table", Expr(Name Expr(dt_script)));
));
// Saving image
img = Open("$SAMPLE_IMAGES/windmap.png", "png");
Eval(EvalExpr(
dt << New Script("Open Image",
New Window("Image",
Picture Box(Expr(img));
)
)
));
// Saving filepath which will open the image
file_path = "$SAMPLE_IMAGES/windmap.png";
Eval(EvalExpr(
dt << New Script("Open File from Path",
Open(Expr(file_path))
)
));
A proposito, hai considerato l'utilizzo di progetti JMP per questo?
Condivido il suggerimento di Jarmo di cercare la soluzione in un progetto JMP.
CIAO @jthi E @txnelson ,
Grazie per il feedback veloce e le idee. Apprezzo le diverse opzioni per salvare lo script nella tabella dati. Alla fine ho optato per l'immagine perché salvare la tabella dati temporanea e quindi dover chiamare lo script con il Nuovo script si è rivelato complicato.
Ho preso in considerazione i progetti per questo, ma il modo in cui gli utenti interagiranno con questo, non credo che sarà altrettanto utile nel formato Progetto. Penso che potrei essere l'unico nella mia organizzazione a utilizzare Projects. Se ciò cambia, prenderei sicuramente in considerazione l'aggiornamento del codice.
Grazie ancora per tutto l'aiuto!,
DS