JSL: creazione di un ciclo per il report di distribuzione personalizzato<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
c'è un modo per creare una variabile segnaposto tramite array che può essere sostituita nella sintassi del livello del report di distribuzione? Il codice che ho semplicemente ripete la distribuzione dandomi 10 finestre con 10 grafici ciascuna senza regolazioni del frame. Voglio 1 finestra con 10 grafici di cui è stata regolata la dimensione del frame.
Il mio codice
/*Esegui array di analiti*/
analitaArr = matrice associativa ( : Analita ) << Ottieni le chiavi ;
Per ( eachAnalita = 1 , eachAnalita <= N articoli ( analitaArr ) , eachAnalita ++,
/*Distribuzione pendenza*/
Tabella dei dati correnti ( dtmain ) ;
dtmain << Distribuzione (
Ricalcolo automatico ( 1 ) ,
InviaAPerGruppo ( { : Analita == analitaArr [ eachAnalita ]} ) ,
InviaAPerGruppo (
{ : Analita == analitaArr [ eachAnalita ]} ,
Distribuzione continua ( Colonna ( : Pendenza ) , Verticale ( 0 ) )
) ,
Di ( : Analita ) ,
InviaAPerGruppo (
{ : Analita == analitaArr [ eachAnalita ]} ,
SendToReport (
Spedizione (
{ "Distribuzioni Analita=" || analitaArr [ eachAnalita ] , "Pendenza" } ,
"Distrib Outlier Box" ,
FrameBox ,
{ Dimensione della cornice ( 550 , 50 )}
) ,
Spedizione (
{ "Distribuzioni Analita=" || analitaArr [ eachAnalita ] , "Pendenza" } ,
"Distribuisci istogramma" ,
FrameBox ,
{ Dimensione della cornice ( 550 , 325 )}
)
)
)
)
) ;
Oggetto: JSL - Creazione di un ciclo per il report di distribuzione personalizzatoCIAO,
Questo thread mi ha aiutato a venire con un JSL per generare più trame. Ma attualmente vedo lo stesso problema di trame duplicate (come 10x10 invece di 10). Puoi condividere come l'hai risolto?
Immagino che il ciclo "For" e "By" causino questo, ma se rimuovo "By", i grafici non vengono visualizzati correttamente.
Oggetto: JSL - Creazione di un ciclo per il report di distribuzione personalizzato
Sembra che tu sia sia in loop, sia usando anche per raggruppamento ..... che forse ciò può spiegare il tuo numero 10x di grafici
Oggetto: JSL - Creazione di un ciclo per il rapporto di distribuzione personalizzatoGrazie per l'aiuto con questo,
Questo sembra regolare la prima delle mie variabili ma non il resto. Penso che ci debba essere qualcosa di sbagliato nel modo in cui sto girando. Non solo regola solo la prima delle mie variabili by, ma ho appena notato che nella singola finestra ho 100 grafici anziché solo i 10 che mi aspettavo (il 10 x 10 che stavo ottenendo tutto in una finestra).
Oggetto: JSL - Creazione di un ciclo per il rapporto di distribuzione personalizzatoIl problema è che stai tentando di modificare gli elementi all'interno di un elenco e JMP esamina gli elenchi e dice che un elenco è solo un mucchio di cose, quindi non lo toccherà.Quindi il metodo che utilizzo per creare gli elenchi nella forma che desidero è utilizzare la funzione Sostituisci, quindi quando ho l'elenco nel modo in cui lo desidero, faccio valutare a JMP ciò che ho creato.Non posso essere sicuro che il codice qui sotto sia esattamente ciò di cui hai bisogno, ma dovrebbe essere vicino.per verificare che il sostituto funzioni correttamente, basta eseguire eliminare la funzione "Eval" che circonda il comando sostitutivo ed eseguire semplicemente il comando sostitutivo da solo, e mostrerà i risultati nel registro ......
//Crea una finestra di visualizzazione e posiziona le distribuzioni al suo interno
Nuova finestra (
"Tutti insieme" ,
// dispone le distribuzioni fianco a fianco
Casella di riepilogo H (
/*Esegui array di analiti*/
analitaArr = matrice associativa ( : analita) << Ottieni chiavi;
Per (ogniAnalita = 1 , eachAnalita <= N articoli (analitaArr) , eachAnalita ++,
/*Distribuzione pendenza*/
Tabella dei dati correnti ( dtmain ) ;
Valutazione (
Sostituire (
Espr (
dtmain << Distribuzione (
Ricalcolo automatico( 1 ) ,
InviaAPerGruppo( {__by__} ) ,
InviaAPerGruppo(
{__di__} ,
Distribuzione continua( Colonna ( : Pendenza ) , Verticale( 0 ) )
) ,
Di( : analita) ,
InviaAPerGruppo(
{__di__} ,
Invia a rapporto(
Spedizione(
{__Dist__ , "Pendenza" } ,
"Distrib Outlier Box" ,
FrameBox ,
{Dimensione della cornice( 550 , 50 )}
) ,
Spedizione(
{__Dist__ , "Pendenza" } ,
"Distribuisci istogramma" ,
FrameBox ,
{Dimensione della cornice( 550 , 325 )}
)
)
)
) ;
) , Espr (__di__) , Analizza ( ":Analita ==" char ( eval (analyteArr[eachAnalyte]))) ,
Espr (__Dist__) , "Distribuzioni Analita=" || char ( eval (analyteArr[eachAnalyte])))
)
) ;
)
) ;
Oggetto: JSL - Creazione di un ciclo per il report di distribuzione personalizzatoGrazie Jim,
Questo sicuramente impedisce alle 10 finestre di apparire.
Per quanto riguarda le regolazioni delle dimensioni del fotogramma, sto parlando della parte del codice che impone che le dimensioni del fotogramma dovrebbero essere rispettivamente 550, 50 e 550, 325. Attualmente, nonostante sia elencata la variabile array, continuo a ricevere le dimensioni dei fotogrammi predefinite di 227, 46 e 277, 110.
Oggetto: JSL - Creazione di un ciclo per il report di distribuzione personalizzatoEcco il tuo script modificato per posizionare tutte le distribuzioni in un'unica finestra.Non mi è chiaro cosa intendi per "dimensioni del fotogramma adattate".Potresti per favore chiarirlo?Vuoi che tutti i risultati vengano ridotti in modo che si adattino tutti allo schermo?
// Crea una finestra di visualizzazione e posiziona le distribuzioni al suo interno
Nuova finestra ( "Tutti insieme" ,
// dispone le distribuzioni fianco a fianco
Casella di riepilogo H (
/*Esegui array di analiti*/
analitaArr = matrice associativa ( : analita) << Ottieni chiavi;
Per (ogniAnalita = 1 , eachAnalita <= N articoli (analitaArr) , eachAnalita ++,
/*Distribuzione pendenza*/
Tabella dei dati correnti ( dtmain ) ;
dtmain << Distribuzione (
Ricalcolo automatico( 1 ) ,
InviaAPerGruppo( { : Analita == analitaArr[eachAnalyte]} ) ,
InviaAPerGruppo(
{ : Analita == analitaArr[ciascunoAnalita]} ,
Distribuzione continua( Colonna ( : Pendenza ) , Verticale( 0 ) )
) ,
Di( : analita) ,
InviaAPerGruppo(
{ : Analita == analitaArr[ciascunoAnalita]} ,
Invia a rapporto(
Spedizione(
{ "Distribuzioni Analita=" || analitaArr[ciascunoAnalita] , "Pendenza" } ,
"Distrib Outlier Box" ,
FrameBox ,
{Dimensione della cornice( 550 , 50 )}
) ,
Spedizione(
{ "Distribuzioni Analita=" || analitaArr[ciascunoAnalita] , "Pendenza" } ,
"Distribuisci istogramma" ,
FrameBox ,
{Dimensione della cornice( 550 , 325 )}
)
)
)
) ;
) ;
)
) ;