JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salutations,
Si j’ai les exemples de données suivants, & colon;
ID 1 Date 1
ID 1 Date 2
ID 1 Date 3
ID 2 Date 4
ID 2 Date 5
ID 2 Date 6
ID 2 Date 7
ID 3 Date 8
ID 3 Date 9
ID 3 Date 10
ID 3 Date 11
ID 3 Date 12
Pour une ligne donnée (paire unique ID et Date), comment créer une nouvelle colonne pour indiquer que cette ligne est le numéro de date X (sur Y lignes pour chaque ID unique)?
ID 1 Date 1 1
ID 1 Date 2 2
ID 1 Date 3 3
ID 2 Date 4 1
ID 2 Date 5 2
ID 2 Date 6 3
ID 2 Date 7 4
ID 3 Date 8 1
ID 3 Date 9 2
ID 3 Date 10 3
ID 3 Date 11 4
ID 3 Date 12 5
Pour ce petit échantillon, je peux facilement le faire manuellement. Cependant, je ne sais pas comment écrire un script en utilisant les fonctions JMP / jsl disponibles pour comparer les lignes afin de le faire pour un ensemble de données volumineux.
Je vous remercie.
Re: JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?Pour les grands ensembles de données, vous pouvez essayer ce qui suit: en supposant que la première colonne soit triée comme dans votre exemple, l'expression ci-dessous fonctionnera comme une formule dans une nouvelle colonne. Cela prend environ 2 secondes à ma machine sur un jeu de données de 1 million de lignes.
( Rangée () - Col Min ( Rangée () , : ID)) + 1
À votre santé,
Brady
Re: JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?Merci beaucoup!
Re: JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?Merci beaucoup!
Re: JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?Vous pouvez également utiliser l'une de ces formules, après avoir utilisé trier par (ID, Date). Une formule compte le nombre de fois où il y a une date (n'importe quelle date) pour un identifiant donné, la seconde compte le nombre de fois où il y a une Nouveau date pour un identifiant donné (voir lignes 12 à 14 de la capture d'écran).
If (Row () == 1, 1, If (: ID [Row () - 1, Vide ()] ==: ID,: Date # pour cet ID [Row () - 1, Empty ()] + 1 , If (: ID [Row () - 1, Empty ()]! = = ID, 1, Empty ())))
Si (Ligne () == 1, 1, Si (: ID [Ligne () - 1, Vide ()] = =: ID, Si (: Date [Ligne () - 1, Vide ()]!!: = Date ,: Numéro de date unique pour cet ID [Row () - 1, Vide ()] + 1,: Numéro de date unique pour cet ID [Row () - 1, Vide ()]), Si (: ID [Row () - 1, vide ()]! =: ID, 1, vide ())))

Re: JMP - Colonne qui génère des numéros de ligne uniques en comparant les lignes existantes?Il y a plusieurs moyens de le faire. Par exemple, copiez le code ci-dessous et collez-le dans la propriété de formule d'une nouvelle colonne. Il est censé renvoyer le nombre total d'instances d'un ID jusqu'à la ligne actuelle (la colonne ID est supposée s'appeler "ID").
Eval ( Eval Expr ( Col Sum ( Rangée () <= Expr ( Rangée ()) , : ID )))
Pour les très gros tableaux de données, il existe probablement des approches plus rapides.