Comment trouver un texte (mot) spécifique dans une colonne caractère - type de données nominal ?Salut,
J'aimerais obtenir de l'aide pour trouver une chaîne spécifique (en fait 2 chaînes, disons "JMP1" et "JMP2") qui peut se trouver dans une colonne avec du texte, alors que nous descendons dans cette colonne, puis avons une colonne de formule à côté à lui d'étiqueter "JMP1" ou "JMP2", s'il le trouve, ou d'étiqueter "NA" sinon.
Quelques remarques :
1- "JMP1" ou "JMP2" peut être à n'importe quelle position dans le texte de la colonne 1
2- "JMP1" et "JMP2" ne sont pas contenus dans le même texte dans la colonne 1
Donc, dans mon esprit, ce sera quelque chose comme ça pour la colonne de formule (colonne 2 - la colonne d'étiquette):
SI (Colonne 1 contient "JMP1", puis Colonne 2 = "JMP1", sinon (SI Colonne 1 contient "JMP2", puis Colonne 2 = "JMP2", sinon Colonne 2 = "NA"));
J'ai regardé la fonction Match, mais j'ai été un peu confus avec les multiples arguments et expressions. Peut-être que je ne suis pas sur la bonne voie non plus, c'est pourquoi j'ai besoin de conseils
Ce serait formidable si quelqu'un pouvait partager ses réflexions (de préférence via la zone Formules, mais sera ouvert aux suggestions via JSL).
Merci,
Vasco
Re : Comment trouver un texte spécifique (mot) dans un caractère de colonne - type de données nominal ?Ah, je vois la confusion. Ainsi, puisque nous avons utilisé la chaîne complète que vous recherchiez dans la fonction contains, nous avons obtenu soit un "1" car la chaîne a commencé en position 1, soit un 0 puisque la chaîne n'a commencé à aucune position. Cela a fonctionné dans l'instruction If. Si nous avions utilisé Contient(:column, "P"), il aurait renvoyé "3" pour toute ligne avec une valeur JMPx, puisque P est en troisième position. Je n'ai pas pensé (ou vraiment connu) à cette nuance car j'utilise généralement la fonction de confinement comme vous essayiez de le faire... y a-t-il quelque chose ou non. La solution Regex est plus sophistiquée et constitue une bonne solution pour quelque chose qui va être utilisé pour la répétabilité avec des données changeantes.Re : Comment trouver un texte spécifique (mot) dans un caractère de colonne - type de données nominal ?Salut @vince_faller ,
Je dois admettre que votre proposition est un peu trop avancée pour moi à ce stade. Merci pour votre contribution., cependant 
J'ai vraiment aimé la proposition simple de Karen pour mon problème.
Salutations,
Vasco
Re : Comment trouver un texte spécifique (mot) dans un caractère de colonne - type de données nominal ?Salut @KarenC ,
Merci, ça a marché !Simple et direct 
En fait, j'ai regardé la fonction Contient dans l'aide des fonctions de caractère, mais j'étais confus avec la description car elle dit qu'elle récupérera une "position numérique". Votre solution était à peu près ce que j'ai mentionné dans mon message, il suffisait de la convertir en une formule JMP réelle à l'aide de la fonction contient.
Acclamations,
Vasco
Re : Comment trouver un texte spécifique (mot) dans un caractère de colonne - type de données nominal ?Regex est vraiment puissant et utilisé dans de nombreuses langues. Bien que cela puisse être assez difficile à comprendre.
Names default to here(1);
dt = new table("Example",
New Column("JMPs", character, <<SET values=""></SET>Re : Comment trouver un texte spécifique (mot) dans un caractère de colonne - type de données nominal ?If( Contains( :name, "JA" ),
"JA",
If( Contains( :name, "MA" ),
"MA",
"NA"
)
)
Je pense que tu es là. JMP a une fonction de caractère appelée contient. Vous pouvez l'utiliser comme illustré ci-dessus pour le fichier de données d'exemple de grande classe. Voir l'aide pour les fonctions de caractère à aide sur les fonctions des personnages