Comment filtrer pour afficher les n derniers éléments/valeurs ?Utilisons le tableau d’exemples de données sur les capacités des semi-conducteurs pour le contexte.
La colonne lot_id comporte 13 niveaux.
Supposons que je souhaite contrôler le graphique IMR uniquement pour le dernier lot ou pour les cinq derniers lots de la table de données. Existe-t-il un moyen simple de réaliser ce type de filtrage des n derniers lots, autrement que par le défilement manuel de la liste des ID de lot et la sélection manuelle des cinq derniers lots ?
Par ailleurs, j'ai des années de données de capteurs de processus dans ma table de données. Je souhaite uniquement représenter graphiquement les six derniers mois.
Analyse et modélisation des données de baseIngénierie de la qualité et des procédésRe : Comment filtrer pour afficher les n derniers éléments/valeurs ?Pour le deuxième, vous pouvez utiliser le filtre de données

Vous souhaiterez peut-être créer une colonne ANNÉE-MOIS pour faciliter légèrement la sélection
Pour le premier, l'ordre est-il uniquement basé sur l'ordre des lignes du tableau de données ? Pour les capacités des semi-conducteurs, elles sont classées par ordre alphabétique ; vous pouvez donc utiliser un filtre de données.

Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Je les utiliserais pour créer une colonne catégorielle pour étiqueter les xx derniers jours, mois, année et l'utiliser dans le filtre de données.
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"
)
Vous pouvez modifier ceci pour les 6 derniers mois
If(
:Date >= Date DMY( 1, Month( Col Max( :Date ) ), Year( Col Max( :Date ) ) )
-In Years( 0.5 ),
"Yes",
"No"
)
Pour étiqueter la dernière étiquette X
J'utiliserais ceci comme exemple des 2 derniers lots d'identification/cycle.
1. Réaffecter le lot ou le cycle par numéro
If( Row() == 1,
1,
If( :Start Date == Lag( :Start Date ),
Lag( :cycle ),
Lag( :cycle ) + 1
)
)
ou ceci
If( Row() == 1,
1,
If( :lot ID == Lag( :lot ID ),
Lag( :cycle 2 ),
Lag( :cycle 2 ) + 1
)
)
Ensuite, créez cette formule pour étiqueter le dernier ID xx ou cycle (2 dans cet exemple)
If( Col Max( :cycle ) - :cycle < 2,
"latest 2 cycles"
)
Vous pouvez également modifier ce script pour qu'il s'exécute sur votre table de données.
Cependant, vous devez réexécuter ce script à chaque mise à jour des données. Je préfère donc celui ci-dessus.
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 );
Voici à quoi ressemblent mes données de test

Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Pour les « 5 derniers lots », vous pouvez utiliser Rank Reverse :

peut-être même les 5 derniers lots par « Site » - comme dans la capture d'écran ?

un peu surprenant : l'axe des x ne s'ajuste pas aux paramètres du filtre de données.
-> beaucoup d'espace blanc
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?J'ai utilisé la formule « Faux/Vrai » des 6 derniers mois pour créer un sous-ensemble. J'ai utilisé un sous-ensemble plutôt qu'un filtre afin que les sous-groupes du graphique de contrôle n'incluent pas les cas des 6 derniers mois == 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");
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Jarmo :
Merci ! Je ne connaissais pas la fonction « Classement inversé ». Je l'essaierai la semaine prochaine.
Oui, le problème de l'axe des x est la raison pour laquelle j'ai utilisé un sous-ensemble au lieu d'un filtre de données.
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?en fait, vous avez raison - la fonction nécessaire n'est pas encore disponible.
Apprenons de mon erreur :
Le rang du colonel est calculé en fonction des lignes et non en fonction des lots.
Ainsi, chaque plaquette aura son propre numéro. -> pas ce que vous voulez.
Désolé.
Mais il y a une belle perspective :
Avec la version 19, JMP bénéficiera de la nouvelle fonctionnalité : )
Ajouter un classement dense aux fonctions de classement Tie et Col Rank

Pour le moment, il n’existe pas d’option en un clic pour calculer le Reverse Score Unique.
Pour contourner ce problème :
Il y aura une autre nouvelle fonctionnalité dans JMP19 : les catégories Col N (:green_heart:)
Cela nous permet de calculer le Score unique inversé via :
(Col N Unique( :lot_id ) - Col N Unique( :lot_id )) + 1
@jthi , belle collaboration : )
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?En alternative, on peut ajouter un Reverse Score Unique manuellement :

via une fonction personnalisée
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>avec les restrictions suivantes :</P>
<UL>
<LI>les options de regroupement sont manquantes</LI>
<LI><FONT face="courier new,courier">Expr()</FONT> doit être ajouté manuellement dans l'éditeur de formules (pour éviter que l'argument ne soit évalué trop tôt) :</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>
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Nous avons une fonction assez intéressante de « sélectionner le dernier » et ainsi de suite avec les niveaux de configuration, mais c'est dommage, ceux-ci ne sont pas accessibles pour les filtres de données (nominaux/ordinaux).

Il existe de nombreuses améliorations dont les filtres de données pourraient bénéficier, cela pourrait en être une de plus, donc peut-être un élément de liste de souhaits pour ce type de sélection ?
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Ajouter un classement dense aux fonctions de classement Tie et Col Rankn'est pas encore marqué comme « Oui, restez à l'écoute ».
Avec un peu de chance, ils pourront intégrer la version « inversée » du classement dense pour le JMP19 en septembre ; )
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Bonne nouvelle ! À partir de JMP 19.0, une nouvelle fonctionnalité du Générateur de cartes de contrôle, « Définir les N derniers sous-groupes », ajuste l'axe des X pour toujours afficher les N sous-groupes les plus récents, quelles que soient les mises à jour des données ou du graphique.
Re : Comment filtrer pour afficher les n derniers éléments/valeurs ?Merci pour la confirmation, Annie !
J'ai assisté à votre conférence à Discovery24 et j'ai cru comprendre que vous aviez mentionné cela comme une amélioration. J'ai hâte d'y être.