Buongiorno,
Ho una tabella di dati molto grande (circa 6 milioni di righe). Ha in particolare come colonne una colonna Data, una colonna Riferimento Prodotto e una colonna Risultato (che ha due possibili valori: OK o NOK). Ogni riga corrisponde a un test del componente.
Vorrei poter consentire all'utente di selezionare un periodo o una data. Da questo periodo vorrei poter trovare ed estrarre le 5 referenze di prodotto che hanno più Risultati == NOK in percentuale rispetto al numero di prove effettuate nel periodo selezionato.
Non so come scrivere questo in modo ottimale.
Grazie in anticipo se avete idee per me
Ciao, ci sono molti modi per farlo. Un modo particolarmente interessante prevede JMP Query Builder con uno script post-query, che richiederà all'utente le date di inizio e fine prima di procedere con l'analisi. Consiglio vivamente di conoscere JMP Query Builder per lavori come questo. È un po' troppo da scrivere qui, purtroppo.
Darò una semplice alternativa che funziona ancora bene.
Innanzitutto, consiglio sempre di memorizzare numericamente i dati 1/0, come 1 e 0, utilizzando le etichette dei valori per mostrare cose come "OK" e "NOK". Nel tuo caso, potremmo usare 1 => "OK" e 0 -> "NOK". (Vedi tabella dati allegata.)
Lo consiglio perché riassumere una media per gruppi fornisce immediatamente la proporzione di "OK" in ciascun gruppo. Se gli 1 e gli 0 sono stati invertiti, la media fornisce la proporzione di "NOK".
Quindi, con quella modifica apportata, facciamo un'altra cosa: aggiungiamo variabili di tabella. Fare clic con il pulsante destro del mouse sul triangolo rosso vicino al nome della tabella e selezionare Nuova variabile tabella. Questo mostra una finestra di dialogo in cui puoi nominare una nuova variabile di tabella e assegnarle un valore iniziale.

Fare questo per "Inizio" e "Fine" ci consente di definire due valori (stringhe, in questo caso, ma funzionano anche i numeri) che possono essere utilizzati proprio come le colonne nelle formule e negli script. Per modificare un valore in un secondo momento, è sufficiente fare doppio clic su di esso per modificarlo.
Utilizzando lo stesso menu del triangolo rosso, possiamo aggiungere un nuovo script alla tabella dei dati. Ho aggiunto uno script chiamato "Worst 5" e incollato il testo dello script di seguito.
Names Default To Here(1);
dt = Current Data Table();
//change table variable strings to times. the format used for the string must be one that JMP recognizes.
beg = informat(dt:Begin);
end = informat(dt:End);
//subset the table to get only those rows in the time interval of interest
dtSub = dt << subset(selected Columns (0), rows(dt << get rows where (beg < :date < end)));
//summarize this new table to find averages of the OK column, grouping by product. This will be the proportion of "good"
dtSubSum = dtSub << summary(group(:product), mean(:OK));
//sort this new table, ascending
dtSubSum << sort(replace table, by(:"Mean(OK)"n), order(ascending));
//the first 5 rows now have the lowest proportion of "good", hence highest proportion of "bad"
dtSubSum << subset(selected Columns(0), rows(1::5));
//close the first subset table, and the summary table linked to it.
close(dtSub, nosave);

Ora è facile ottenere il rapporto che desideri:
1) Modificare i valori di inizio e fine come desiderato.
2) Premere il pulsante verde sullo script "Worst 5" per ottenere i risultati.
Anche in questo caso, ci sono modi più semplici per farlo, ma richiedono la conoscenza di JMP Query Builder o dello scripting della finestra interattiva (Display Tree). Consiglio vivamente di imparare entrambi, ma nel frattempo c'è molto che si può fare con le variabili di tabella e le operazioni di base sulle tabelle.
Un'altra opzione, che non prevede script:
1) Utilizzare la piattaforma Tabulate per calcolare le medie, utilizzando anche un filtro dati locale per limitare l'intervallo di date considerato.
2) Fare clic con il pulsante destro del mouse sulla tabella del report Tabulata finita, selezionare Crea in tabella dati, quindi ordinare la tabella dati risultante in modo che le 5 righe "peggiori" (ovvero le 5 medie OK più basse) siano nella parte superiore della tabella.
3) Se lo si desidera, selezionare queste 5 righe e il sottoinsieme.
Speriamo che una di queste idee ti aiuti a iniziare.
Saluti,
Brady
Grazie mille per la tua risposta ! Mi aiuterà molto per iniziare!!