<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Sto tracciando tre grafici diversi (IR, EWMA e CUSUM) in un'unica finestra, ma il problema che sto affrontando è che viene visualizzata anche la condizione dove utilizzata all'interno dei grafici nella finestra di visualizzazione.
Vetrina:

Codice:
ogg = Nuova finestra ( "Rapporto sull'analisi delle tendenze" || Data lunga ( Oggi ()) ,
vlb = Casella di riepilogo V ()
) ;
Schermo = Funzione ({ Processi , Etichetta , Di , Src_Type , lmt1 , lmt2 , lmt3 } ,
r1 = Nuova finestra ( "" ,
per favore = Scatola del pannello ( "Carte di controllo per" || Processi || "&" || "Tipo di origine=" || Src_Type , Tabella dati corrente ( dt ) ;
Casella di riepilogo H (
Carta di controllo (
Etichetta campione ( Colonna ( dt , Etichetta )) ,
Dimensione del gruppo ( 1 ) , KSigma ( 3 ) ,
Come colonna ( dt , Processi ) , Misurazione individuale ( LCL ( lmt1 [ 6 ]) , AVG ( lmt1 [ 5 ]) , UCL ( lmt1 [ 7 ]))) ,
Dove ( Come colonna ( dt , Di ) == Src_Type ) ;
) ;
Etichetta campione ( Colonna ( dt , Etichetta )) ,
Misura di prova ( 1 ) ,
Alfa ( 0.00269979606326021 ) ,
Mostra legenda limiti ( 0 ) ,
Come colonna ( dt , Processi ) , CUSUM ( Due lati ( 1 ) , AVG ( lmt2 [ 5 ]))) ,
Dove ( Come colonna ( dt , Di ) == Src_Type ) ;
) ;
Etichetta campione ( Colonna ( dt , Etichetta )) ,
Misura di prova ( 1 ) ,
KSigma ( 3 ) , Peso ( 0,2 ) ,
Come colonna ( dt , Processi ) , EWMA ( AVG ( lmt3 [ 5 ]))) ,
Dove ( Come colonna ( dt , Di ) == Src_Type ) ;
) ;
) ;
) ;
) ; vlb << Aggiungere ( r1 ) ; r1 << Chiudi la finestra ;
) ;
complotto = Funzione ({ lmt , pmt_percorso } ,
param_dt = Aprire ( pmt_percorso , "invisibile" ) ;
param_summ = param_dt << Riepilogo ( Invisibile ,
Gruppo ( : Raggruppa per ,: Processi ,: Etichetta campione ,: Di )) << Mostra finestra ( 0 ) ;
Per ( Q = 12 , Q <= NRow ( param_summ ) , Q ++, Tabella dati corrente ( param_summ ) ;
col2 =: Processi [ Q ] ; col3 =: Etichetta campione [ Q ] ; col4 =: Di [ Q ] ;
Tabella dati corrente ( lmt ) ;
cms = lmt << Ottieni nomi di colonne ( Corda ) ;
Rimuovere da ( cms , 1 , 3 ) ;
Per ( T = 1 , T <= N articoli ( cms ) , T ++, Tabella dati corrente ( lmt ) ;
indv_lmts = Come colonna ( cms [ T ])[ lmt << Ottieni righe dove ( : Parametro == col2 & : Tipo di grafico == "Individuale" )] ;
cusum_lmts = Come colonna ( cms [ T ])[ lmt << Ottieni righe dove ( : Parametro == col2 & : Tipo di grafico == "CUSUM" )] ;
ewma_lmts = Come colonna ( cms [ T ])[ lmt << Ottieni righe dove ( : Parametro == col2 & : Tipo di grafico == "EWMA" )] ;
Schermo ( col2 , col3 , col4 , cms [ T ] , indv_lmts , cusum_lmts , ewma_lmts ) ;
) ;
) ;
) ;
Non riesco a capire perché sta accadendo. Qualsiasi aiuto sarebbe apprezzato. Grazie!!
Vedi se questo esempio è utile. Ho modificato un esempio nell'eccellente introduzione JSL Jump into JMP Scripting di Murphrey e Lucas.
dt = Open( "$SAMPLE_DATA/Controllo qualità/Diametro.jmp" );
cc = Carta di controllo(
Dimensione del gruppo( 1 ),
KSigma( 3 ),
Grafico Col(:DIAMETRO, Misurazione Individuale),
Dove( :MACCHINA == "A386" )
);
Aspetta(2);
(Rapporto( cc ) << Genitore)[Casella di testo( 1 )] << elimina;
Aspetta(2);
Il testo della clausola where è l'output standard di JMP e non è specifico del codice.Ad esempio per questo script:
Carta di controllo (
Dimensione del gruppo ( 1 ) ,
KSigma ( 3 ) ,
Grafico col ( : DIAMETRO , Misurazione individuale ) ,
Dove ( : Macchina == "A386" )
) ;
L'output è simile al seguente:

Sfortunatamente questo testo non sembra apparire nell'albero di visualizzazione e quindi non può essere rimosso facilmente.L'approccio che seguo è creare sottoinsiemi di dati per ciascun grafico in modo che la clausola where non sia richiesta.Se sto componendo una finestra contenente più grafici, il titolo "Grafico di controllo" non aggiunge alcuna informazione utile, quindi sostituisco questo testo con la clausola di selezione utilizzata per sottoinsiemi di dati:

Ecco lo script completo:
dt = Aprire ( "$SAMPLE_DATA/Controllo qualità/Diametro.jmp" ) ;
// nome della colonna utilizzata per la clausola 'where'
nome del gruppo = "Macchina" ;
// ne ho bisogno per eseguire le operazioni di pulizia dopo l'evento di chiusura della finestra
ns = Nuovo spazio dei nomi ( "tabelle-temporanee-da-eliminare" ) ;
// ottiene valori univoci per la macchina
Riassumere ( livelli = Di ( AsColonna ( nome del gruppo ) ) ) ;
ora = Nuova finestra ( "Le mie classifiche" ,
hlb = Casella di riepilogo H ()
) ;
// esegue un'iterazione su ogni valore
ns : lstTables = {} ;
Per ( io = 1 , io <= Articoli ( livelli ) , io ++,
// crea il sottoinsieme di dati
corrispondentiRighe = dt << Ottieni righe dove ( AsColonna ( nome del gruppo ) == livelli [ io ] ) ;
dtNome = "Sottoinsieme per" || nome del gruppo || "=" || livelli [ io ] ;
dtSubset = dt << Sottoinsieme ( Righe ( corrispondentiRighe ) , Tabella di uscita ( dtNome ) , Invisibile ) ;
// aggiunge allo spazio dei nomi per fare riferimento all'evento on close
Inserire ( ns : lstTables , dtSubset ) ;
// usa un contenitore per garantire che il grafico non venga visualizzato finché non viene aggiunto alla finestra
contenitore = Casella di riepilogo V (
cc = dtSubset << Carta di controllo (
Dimensione del gruppo ( 1 ) ,
KSigma ( 3 ) ,
Grafico col ( : DIAMETRO , Misurazione individuale ) ,
)
) ;
// rivede il titolo
rappresentante = cc << Rapporto ;
ob = rappresentante [ OutlineBox ( 1 )] ;
ob << Imposta titolo ( nome del gruppo || " = " || livelli [ io ]) ;
// aggiunge alla finestra del report
hlb << Aggiungere ( contenitore )
) ;
// pulizia: elimina le tabelle del sottoinsieme
ora << Alla chiusura (
ns = Spazio dei nomi ( "tabelle-temporanee-da-eliminare" ) ;
Per ( io = 1 , io <= Articoli ( ns : lstTables ) , io ++,
Tentativo ( Vicino ( ns : lstTables [ io ] , Nessun salvataggio ) )
)
) ;
E l'output associato:

-Dave