Come filtrare per mostrare gli ultimi n elementi/valori?Per contestualizzare utilizziamo la tabella dei dati campione Semiconductor Capability.
La colonna lot_id ha 13 livelli.
Supponiamo di voler creare un grafico di controllo IMR solo per l'ultimo lotto o solo per gli ultimi 5 lotti nella tabella dati. Esiste un modo elegante per eseguire questo tipo di filtro degli ultimi n lotti, oltre a scorrere manualmente l'elenco di lot_id e selezionare manualmente gli ultimi 5 lotti?
In alternativa, ho anni di dati dei sensori di processo nella mia tabella dati. Voglio tracciare solo i dati degli ultimi sei mesi.
Analisi e modellazione dei dati di baseIngegneria della qualità e dei processiR: Come filtrare per mostrare gli ultimi n elementi/valori?Per il secondo puoi usare il filtro dati

Potresti voler creare la colonna ANNO-MESE per rendere la selezione leggermente più semplice
Per il primo, l'ordine si basa solo sull'ordine delle righe della tabella dati? Per quanto riguarda la capacità dei semiconduttori, sono in ordine alfabetico, quindi è possibile utilizzare un filtro dati.

R: Come filtrare per mostrare gli ultimi n elementi/valori?Li userei per creare una colonna categoriale per etichettare gli ultimi xx giorni, mesi, anni e usarli nel filtro dati.
If( :Date >= Date DMY( 1, Month( Col Max( :Date ) ), Year( Col Max( :Date ) ) - 1 ),
"Yes",
"No"
)
If( Col Max( :Date ) - :Date <= In Days( 30 ),
"latest 30 days"
)
Puoi modificarlo per gli ultimi 6 mesi
If(
:Date >= Date DMY( 1, Month( Col Max( :Date ) ), Year( Col Max( :Date ) ) )
-In Years( 0.5 ),
"Yes",
"No"
)
Per etichettare l'ultima etichetta X
Vorrei usare questo come esempio degli ultimi 2 ID lotto/ciclo.
1. Riassegnare il lotto o il ciclo in base al numero
If( Row() == 1,
1,
If( :Start Date == Lag( :Start Date ),
Lag( :cycle ),
Lag( :cycle ) + 1
)
)
o questo
If( Row() == 1,
1,
If( :lot ID == Lag( :lot ID ),
Lag( :cycle 2 ),
Lag( :cycle 2 ) + 1
)
)
Quindi, crea questa formula per etichettare l'ultimo ID o ciclo xx (2 in questo esempio)
If( Col Max( :cycle ) - :cycle < 2,
"latest 2 cycles"
)
In alternativa, puoi modificare questo script affinché venga eseguito sulla tua tabella dati.
Tuttavia, è necessario rieseguire questo script ogni volta che i dati vengono aggiornati. Pertanto, preferisco quello sopra.
last_no = 2;
// Define your column names
timestampCol = "Start Date"; // Replace with your actual timestamp column name
categoryCol = "lot ID"; // Replace with your actual category column name
// Reference the current data table
dt = Current Data Table();
// Create a summary table with the latest timestamp per category
dtSummary = dt << Summary(
Group( column(categoryCol) ),
Max( column(timestampCol) ),
Link to original data table(0),
Output Table Name("LatestPerCategory")
);
// Sort the summary table by latest timestamp descending
dtSummary << Sort(
By( column("Max(" || timestampCol || ")") ),
Order(Descending),
Replace Table(1)
);
// Get the top 2 categories
latestCategories = {};
For( i = 1, i <= last_no, i++,
Insert Into( latestCategories, dtSummary:lot ID[i] )
);
// Add a new column to flag the latest 5 categories
dt << New Column("Is Latest " ||char(last_no),
Character,
Formula( If( Contains( latestCategories, :lot ID ), "Yes", "No" ) )
);
// Optional: Close the summary table
Close( dtSummary, NoSave );
Ecco come appaiono i miei dati di prova

R: Come filtrare per mostrare gli ultimi n elementi/valori?Per gli "ultimi 5 lotti" puoi usare Rank Reverse:

forse anche gli ultimi 5 lotti per "Sito", come nello screenshot?

un po' sorprendente: l'asse x non si adatta alle impostazioni del filtro dati.
-> molto spazio bianco
R: Come filtrare per mostrare gli ultimi n elementi/valori?Ho usato la formula "Ultimi 6 mesi Falso/Vero" per creare un sottoinsieme. Ho usato "sottoinsieme" invece di "filtro", in modo che i sottogruppi nel grafico di controllo non includessero i casi "Ultimi 6 mesi == 0". 
Names Default To Here( 1 );
dt = Current Data Table();
Last.6.Months.Data = dt << Subset( Filtered Rows(:Running? == 1 & :Last.6.Months == 1));
Last.6.Months.Data << Set Name("Last.6.Months.Data");
R: Come filtrare per mostrare gli ultimi n elementi/valori?Jarmo:
Grazie! Non sapevo della funzione "Ordine inverso". La proverò la prossima settimana.
Sì, il problema dell'asse x è il motivo per cui ho utilizzato il sottoinsieme anziché il filtro dati.
R: Come filtrare per mostrare gli ultimi n elementi/valori?In effetti hai ragione: la funzione necessaria non è ancora disponibile.
Impariamo dal mio errore:
Il conteggio dei ranghi avviene in base alle righe, non in base ai lotti.
Quindi ogni wafer avrà il suo numero. -> non è quello che vuoi.
Scusa.
Ma c'è una bella prospettiva:
Con la versione 19, JMP avrà una nuova funzionalità : )
Aggiungere una classifica densa alle funzioni Ranking Tie e Col Rank

Al momento non esiste un'opzione per calcolare il Reverse Score Unique con un solo clic.
Come soluzione alternativa:
Ci sarà un'altra nuova funzionalità in JMP19: Categorie Col N (:green_heart:)
Ciò ci consente di calcolare il Punteggio unico inverso tramite:
(Col N Unique( :lot_id ) - Col N Unique( :lot_id )) + 1
@jthi , bella collaborazione : )
R: Come filtrare per mostrare gli ultimi n elementi/valori?In alternativa, è possibile aggiungere manualmente un Reverse Score Unique :

tramite una funzione personalizzata
Add Custom Functions(
New Custom Function(
"COL",
"Score Unique_reverse_addExpr",
Function( {value},
Col N Unique( value) - Col Score (value) +1
),
<
<FORMULA category=""></FORMULA>
<BR /> <BR /> <P>con le seguenti restrizioni:</P>
<UL>
<LI>mancano le opzioni di raggruppamento</LI>
<LI><FONT face="courier new,courier">Espr()</FONT> deve essere aggiunto manualmente nell'editor delle formule (per evitare che l'argomento venga valutato troppo presto):</LI>
</UL> <P><A href="https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/m-p/888083/highlight/true#M105027" target="_blank">https://community.jmp.com/t5/Discussions/Fast-Way-to-calculate-quot-nested-quot-Col-aggregations-like-MAD/mp/888083/highlight/true#M105027</A> </P> <P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_1-1753421633660.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_1-1753421633660.png" style="width: 324px;"><img src="https://us.v-cdn.net/6038925/uploads/images/78870i815199AB7B6D781F/hogi_1-1753421633660.png" role="button" title="hogi_1-1753421633660.png" alt="hogi_1-1753421633660.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
R: Come filtrare per mostrare gli ultimi n elementi/valori?Abbiamo un "seleziona ultimo" abbastanza carino e così via con i livelli di configurazione, ma è un peccato che non siano accessibili per i filtri di dati (nominali/ordinali)

Ci sono molti miglioramenti di cui i filtri dati potrebbero trarre vantaggio, questo potrebbe essere un ulteriore miglioramento, quindi forse un elemento della lista dei desideri per questo tipo di selezione?
R: Come filtrare per mostrare gli ultimi n elementi/valori?Aggiungere una classifica densa alle funzioni Ranking Tie e Col Ranknon è ancora contrassegnato come "Sì, resta sintonizzato".
Con un po' di fortuna riusciranno a inserire la versione "inversa" della classifica densa per JMP19 a settembre ; )
Re: Come filtrare per mostrare gli ultimi n elementi/valori?Buone notizie! A partire da JMP 19.0, è disponibile una nuova funzionalità in Control Chart Builder chiamata " Imposta ultimi N sottogruppi ", che regolerà l'asse X in modo da visualizzare sempre gli N sottogruppi più recenti, indipendentemente da eventuali aggiornamenti ai dati o al grafico.
Re: Come filtrare per mostrare gli ultimi n elementi/valori?Grazie per la conferma, Annie!
Ho assistito al tuo intervento al Discovery24 e ho pensato che tu l'avessi menzionato come un miglioramento. Non vedo l'ora.