Comment remplir des nombres séquentiels (à partir de 1) dans une colonne lorsque des éléments identiques apparaissent dans une autre colonne ?Disons que j'ai des données à deux colonnes. La première colonne partID, la deuxième colonne est une valeur mesurée pour cette pièce. Chaque pièce est mesurée N fois afin que la colonne partID comporte des lignes avec l'ID apparaissant N fois dans le tableau jusqu'à ce que la prochaine partID apparaisse. Je souhaite créer une nouvelle colonne avec le nombre de répétitions/exécutions de mesures pour une pièce donnée.
Ainsi, pour les partID identiques apparaissant dans la colonne partID, je souhaite remplir la colonne Runs avec des nombres séquentiels commençant à 1.
Ainsi, si la partie A est mesurée 11 fois, la colonne Exécutions reçoit les entrées de ligne de 1 à 11. La partie B suivante est mesurée 9 fois, la colonne Exécutions contient les entrées de lignes 1 à 9 et ainsi de suite.
Comment puis-je automatiser cela via JSL ?
les fenêtresRe : Comment remplir des nombres séquentiels (en commençant par 1) dans une colonne lorsque des éléments identiques apparaissent dans une autre colonne ?Tant que les partID sont regroupés comme vous l'avez indiqué, cela fonctionnera.
If(
Row() == 1, 1,
Lag( :partID ) == :partID, Lag( :Runs ) + 1,
1
)
Re : Comment remplir des nombres séquentiels (en commençant par 1) dans une colonne lorsque des éléments identiques apparaissent dans une autre colonne ?@mmarchandTSI la solution est une bonne solution.Mais comme d'habitude, dans JMP, il existe plusieurs façons d'accéder à la solution.Voici une solution alternative
Col Cumulative Sum( 1, :partID )
Re : Comment remplir des nombres séquentiels (à partir de 1) dans une colonne lorsque des éléments identiques apparaissent dans une autre colonne ?La somme cumulée du col avec la valeur 1 devrait fonctionner avec les versions actuelles de JMP.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values({"A", "A", "A", "A", "B", "B", "C", "C", "C", "D"})
)
);
dt << New Column("Run", Numeric, Ordinal, Formula(
Col Cumulative Sum(1, :Column 1)
));