Cambia colonna, filtro dati locale e riga di riferimento si aggiornano automaticamenteHo creato un grafico a barre utilizzando il generatore di grafici e desidero applicare un filtro dati locale, un commutatore di colonne e una linea di riferimento al grafico. È possibile cambiare automaticamente il filtro dei dati locali e la linea di riferimento a seconda della colonna selezionata. Al momento la mia linea di riferimento appena completata scompare quando passo da una colonna all'altra. Ho 2 possibili colonne da selezionare, Cpk e Ppk. Voglio includere una linea di riferimento in Cpk = 1.333 e Ppk = 1.333, rispettivamente di cui è attualmente visualizzato. Allo stesso modo, voglio aggiungere un filtro dati locale per mostrare solo i valori tra il valore minimo di Cpk / Ppk e un valore massimo di 1,5 a seconda di quale colonna viene visualizzata. È possibile farlo nel semplice generatore di grafici inserendolo in uno script o dovrò cercare in una dashboard / applicazione? Questo è quello che ho attualmente:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk , Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk )
),
Column Switcher( :Cpk , {: Cpk , :Ppk }),
Elements( Bar( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter( columns( :Cpk ), Where( :Cpk >= floor(Col Min(:Cpk )) & :Cpk <= 1.5 ) )
),
SendToReport(
Dispatch(
{},
"Cpk ",
ScaleBox,
{Add Ref Line( 1.333, "Solid", "Red", "", 3 )}
),
)
);GraficaScriptingOggetto: Cambia colonne, Filtro dati locale e Aggiornamento automatico della riga di riferimentoSì, è possibile fare quello che vuoi.Qui c'è un semplice esempio
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
ColSwitcher = gb << Column switcher( :weight, {:weight, :height} );
Report( gb )[framebox( 1 )] << add graphics script(
theCol = ColSwitcher << Get Current;
If(
theCol == "weight",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :weight ),
"solid",
red,
"Mean",
2
),
theCol == "height",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :height ),
"solid",
red,
"Mean",
2
)
);
);Oggetto: Cambia colonne, Filtro dati locale e Aggiornamento automatico della riga di riferimentoCiao,
Quando l'ho copiato in uno script non sembra funzionare correttamente. Il grafico ha un messaggio di errore che indica "Errori segnalati dallo script grafico nel registro". E l'errore riportato nel registro indica "Nome non risolto: peso {21} nell'accesso o nella valutazione di" peso ", peso / * ### * /". Sto usando JMP 13, non so se questo potrebbe essere un problema?
Sono riuscito ad aggiungere una linea di riferimento che rimane a 1.333 indipendentemente da ciò che viene visualizzato sull'asse y come segue:
obj = dt_sum << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk, Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk)
),
Column Switcher( :Cpk, {: Cpk, :Ppk}),
Elements( Bar( X, Y, Legend( 4 ) ) ),
);
Report(obj)[FrameBox(1)] <<
Add Graphics Script(
1, Description( "Pen Script"),
Pen Color("red");
Pen Size(3);
Y Function(1.333, Feature ID);
);Tuttavia non sono ancora sicuro di come collegare il commutatore di colonna con un filtro dati locale in modo che solo i valori al di sotto di un determinato valore y vengano visualizzati e aggiornati quando la colonna viene cambiata.
Oggetto: Cambia colonne, Filtro dati locali e Aggiornamento automatico della riga di riferimentoIl primo problema con l'esecuzione dello script in JMP 13 è che ciò che viene restituito dal file
ColSwitcher << ottenere corrente
non è una stringa letterale, quindi deve essere modificata in
char (ColSwitcher << get Current)
ma quando si esegue questa operazione, JMP entra in un ciclo infinito
Credo che questo sia un errore noto ed è correlato al momento in cui lo script di aggiunta grafica viene chiamato dalla modifica del commutatore di colonne.
Ho provato un sacco di cose, ma non sono riuscito a trovare una soluzione. L'aggiornamento a 15 è l'unica opzione che sono sicuro risolverà il problema.Oggetto: Cambia colonne, Filtro dati locali e Aggiornamento automatico della riga di riferimentoOk grazie senza preoccupazioni!
Sto utilizzando il software aziendale, quindi non credo che sarò in grado di eseguire l'aggiornamento, quindi dovrò solo pensare a un modo diverso per visualizzare i dati. Presumo che mi imbatterò in un problema simile se provo a modificare i limiti dell'asse a seconda della colonna selezionata, piuttosto che provare ad aggiornare il filtro dei dati locali? Saluti