Syntaxe : comment créer une colonne d'index par IDBonjour la communauté JMP,
J'essaie de créer une colonne qui indexe les lignes par une colonne ID.
Dans d'autres langages de script, cela se fait avec les lignes suivantes.
Par ID : gen IDIndex = _n
Par ID : gen IDCount = _N
Je peux faire ce qui suit, mais j'indexe et compte toute la table
New Column( "IDIndex", formula( Row() ) );
New Column( "IDCount", formula( N Row() ) );
Des conseils à ce sujet seraient super!
Très cordialement,
| IDENTIFIANT |
IDIndex |
IDCount |
|---|
| 444 |
1 |
4 |
| 444 |
2 |
4 |
| 444 |
3 |
4 |
| 444 |
4 |
4 |
| 333 |
1 |
3 |
| 333 |
2 |
3 |
| 333 |
3 |
3 |
Re : Syntaxe : comment créer une colonne d'index par ID<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Merci MS, la commande que vous avez partagée fonctionne indépendamment du tri.
Passe une bonne journée!
Re : Syntaxe : comment créer une colonne d'index par IDJe pense que la formule ci-dessous fonctionnera pour IDIndex indépendamment du tri initial de la colonne ID :
Somme( :ID[Index( 1, Ligne() )] == :ID )
Re : Syntaxe : comment créer une colonne d'index par IDJeff a raison et j'ajouterai seulement que la formule pour IDIndex dépend du tri précédent.
Si le tableau doit être trié à nouveau ultérieurement, vous devrez supprimer l'évaluation ou le supprimer.
colonne (dt, "IDIndex") << suppress eval ( true );
ou:
colonne (dt, "IDIndex") << supprimer la formule ;
pour produire la colonne IDCount sans tri, vous pouvez utiliser l'option table summery :
dt << Résumé (Groupe ( :ID );
Ron
Re : Syntaxe : comment créer une colonne d'index par IDSuper, ça a parfaitement fonctionné !
Merci pour la réponse rapide.
Passe une bonne journée,
Mat
Re : Syntaxe : comment créer une colonne d'index par IDDans votre formule, vous devez vérifier la valeur de l'ID pour voir si elle a changé par rapport à la ligne précédente et réinitialiser votre index si c'est le cas.
Essayez cette formule :
Si(:ID != Retard(:ID, 1) | Ligne() == 1, 1, Retard(:IDIndex, 1) + 1)
Votre colonne ID Count a utilisé IDIndex pour obtenir sa valeur :
Col Maximum( :IDIndex, :ID )
Le deuxième argument de la fonction Col Maximum est la variable By.
J'espère que ça aide!
-Jeff