Come posso ottenere il nome della migliore distribuzione dai dati filtrati?Gentile comunità JMP,
Uso JMP solo da poco tempo e ho ancora molto da imparare. Spero che tu possa aiutarmi con un problema.
Provo a utilizzare un filtro dati per selezionare i dati per i quali desidero la migliore distribuzione possibile. Quindi vorrei avere il nome della distribuzione più adatta dal report:
datafilter1 = dt << Filtro dati (
Modalità (Seleziona (0), Mostra (1), Includi (1)),
Aggiungi filtro (colonne (: caratteristica)));
dis = datafilter1 << Distribuzione (Ricalc. automatico (1), Colonna (: Dati));
dis << Adatta distribuzione (tutto);
theDist = Trim (Word (3, Report (dis) ["Compare Distributions"] [String Col Box (1)] << get text, "\! n"));
La prima parte funziona bene. Posso selezionare e visualizzare i dati utilizzando il filtro.
Ma ottengo il nome della prima distribuzione solo quando avvio lo script. Se poi seleziono una diversa distribuzione dei dati utilizzando il filtro, il nome viene mantenuto e non cambia.
Come puoi risolvere il problema? Ho già fatto molte ricerche su questo, ma non riesco a trovare una soluzione che si adatti. Forse puoi aiutarmi. Grazie molto!
ScriptingRi: Come posso ottenere il nome della migliore distribuzione dai dati filtrati?Devi spostare il tuo
heDist = Trim (Word (3, Report (dis) ["Confronta distribuzioni"] [String Col Box (1)] << get text, "\! n"));
in un Row State Handler, in modo che venga ricreato ogni volta che i valori del filtro vengono modificati
Vedi: Make Rowstate HandlerRi: Come posso ottenere il nome della migliore distribuzione dai dati filtrati?Ciao,
La ringrazio per la risposta.
Ma quale dovrebbe essere la funzione di cui ho bisogno per "Make Rowstate Handler"? Ho provato questo:
f = Function( {a},
Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) )
);
rs = dt << Make Row State Handler( f );
Ma non funziona. Che cosa sto facendo di sbagliato? Grazie!
Ri: Come posso ottenere il nome della migliore distribuzione dai dati filtrati?Ecco un esempio funzionante, che estrae il valore di "theDist" ogni volta che cambia il filtro dati
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
datafilter1 = dt << Data Filter(
Mode( Select( 0 ), Show( 1 ), Include( 1 ) ),
Add Filter( columns( :site ) )
);
dis = dt<< Distribution( Automatic Recalc( 1 ), Column( :npn1 ) );
dis << Fit Distribution( All );
theDist = Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) );
f=Function({a}, theDist = Trim( Word( 3, Report(dis)["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) ); show(theDist));
rs=dt<<MAKE row="" state="" handler=""></MAKE>