Comment créer une colonne de compteur "dans la journée"?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'ai une table avec des mesures, certaines sont effectuées dans la journée et d'autres sur plusieurs jours. Je voudrais créer une colonne qui donne à la mesure un identifiant unique en utilisant la date et un NUMÉRO SÉQUENTIEL DU JOUR.
Cela ressemblerait à ceci:
| Identifiant | Rendez-vous amoureux | Les données |
| M160723-0001 | 23-07-16 | 3445 |
| M160723-0002 | 23-07-16 | 2455 |
| M160723-0003 | 23-07-16 | 2234 |
| M160723-0004 | 23-07-16 | 2334 |
| M160723-0005 | 23-07-16 | 2455 |
| M160725-0001 | 25-07-16 | 7658 |
| M160725-0002 | 25-07-16 | 6785 |
| M160725-0003 | 25-07-16 | 7657 |
| M160725-0004 | 25-07-16 | 5678 |
| M160725-0005 | 25-07-16 | 6575 |
| M160729-0001 | 29-07-16 | 7889 |
| M160729-0002 | 29-07-16 | 5764 |
| M160729-0003 | 29-07-16 | 4565 |
La colonne que JMP doit créer est la "colonne Identifiant". Je jouais avec les fonctions Row (), Subscript () et d’autres fonctions, mais j’ai seulement réussi à faire planter JMP.
J'ai ce morceau de formule pour la première partie mais je me bats avec la contre-partie:
"M" || Droit (car (année (: date)), 2) ||
Char (Mois (Date)) || Char (jour (date))
|| "-" || ????
Toutes les suggestions sont vraiment les bienvenues!
Re: Comment créer une colonne de compteur "dans la journée"? msharp , mes excuses, Je ne voulais vraiment pas sous-estimer l'aide de tous les deux txnelson et MME . Le crédit de la solution leur revient pleinement. J'ai essayé d'être reconnaissant de leur aide dans mon dernier post.
J'ai marqué ma réponse comme étant la réponse correcte pour permettre de localiser facilement la solution complète pour les futurs utilisateurs cherchant sur le forum. Cependant, si cela est perçu comme une prise de crédit de la part de la solution, je la rectifie immédiatement. Encore une fois, mes excuses si quelqu'un était offensé.
Re: Comment créer une colonne de compteur "dans la journée"?Ce n'est ni ici ni là-bas, mais si vous répondez correctement lorsque TXNelson et MS ont clairement résolu le problème, le problème dans le PO est très déplorable.
Re: Comment créer une colonne de compteur "dans la journée"?Donc, j'ai compris que ce que j'avais était une sorte d'horodatage plutôt qu'une date, c'est pourquoi cela ne fonctionnait pas dans l'exemple de fichier que j'ai posté ... Désolé pour l'erreur de définition du besoin! Cependant, j'ai résolu ce problème avec "dayofyear".
J'ai utilisé un morceau de chaque solution proposée, grâce à la fois txnelson et MME pour l'aide!
C'est le code final qui fonctionne pour moi:
If (Row () == 1, countval = 1); Si (jour de l'année (: date) == décalage (jour de l'année (: date)), countval = Sum (countval, 1), countval = 1); "M" || Droit (car (année (: date)), 2) || Right ("0" || Char (Mois (Date)), 2) || Right ("0" || Char (Jour (Date)), 2) || "-" || Right ("000" || Char (countval), 4)
En outre, joint le fichier avec la dernière colonne.
Re: Comment créer une colonne de compteur "dans la journée"?Merci MS!
Une façon très intelligente d'inclure les "0"!
Votre solution a fonctionné avec l'exemple mais a fait planter JMP avec 44 000 lignes.
Merci!
Re: Comment créer une colonne de compteur "dans la journée"?Autrement:
Collez la formule ci-dessous dans l'éditeur de formule de colonne. La table n'a pas besoin d'être triée après la date.
"M" || Droite ( Carboniser ( Année ( : Rendez-vous amoureux )) , 2 ) ||
Droite ( "0" || Carboniser ( Mois ( : Rendez-vous amoureux )) , 2 ) ||
Droite ( "0" || Carboniser ( journée ( : Rendez-vous amoureux )) , 2 ) || "-" ||
Droite ( "000" || Carboniser ( Eval ( Eval Expr ( Numéro de Col ( Rangée () , : Rendez-vous amoureux , Rangée () <= Expr ( Rangée ()))))) , 4 ) ;
Re: Comment créer une colonne de compteur "dans la journée"?Merci Jim!
Je ne vois aucune raison pour laquelle cette solution ne fonctionnerait pas ... mais cela ne semble pas fonctionner avec ma table ...
Je l'attache au cas où quelqu'un pourrait comprendre pourquoi ...
Les deux autres petits problèmes que j'ai, c’est que j’ai besoin que la chaîne ait une taille constante et que j’ai donc besoin des chiffres de jour et de mois pour que le "0" soit avant le chiffre. Aussi pour le numéro séquentiel. "0001" Existe-t-il un moyen intéressant de corriger cela?
Merci encore!
Re: Comment créer une colonne de compteur "dans la journée"?Voici une façon de le faire:
si ( rangée () == 1 , comteval = 1 ) ;
si ( : rendez-vous amoureux == décalage ( : rendez-vous amoureux) , comteval = somme (countval , 1 ) , comteval = 1 ) ;
"M" || Droite ( Carboniser ( Année ( : Rendez-vous amoureux ) ) , 2 ) ||
Carboniser ( Mois ( : Rendez-vous amoureux ) ) || Carboniser ( journée ( : Rendez-vous amoureux ) )
|| "-" || carboniser (countval)