¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?Hola,
Me gustaría obtener ayuda para encontrar una cadena específica (en realidad 2 cadenas, digamos "JMP1" y "JMP2") que puede estar dentro de una columna con texto, a medida que avanzamos hacia abajo en esa columna, y luego tenemos una columna de fórmula a continuación para etiquetar "JMP1" o "JMP2", si lo encuentra, o etiquetar decir "NA" en caso contrario.
Un par de notas:
1- "JMP1" o "JMP2" pueden estar en cualquier posición dentro del texto de la Columna 1
2- "JMP1" y "JMP2" no están contenidos en el mismo texto en la Columna 1
Entonces, en mi mente, será algo como esto para la Columna de fórmula (Columna 2 - la columna de etiqueta):
SI (Columna 1 contiene "JMP1", luego Columna 2 = "JMP1", de lo contrario (IF Columna 1 contiene "JMP2", luego Columna 2 = "JMP2", de lo contrario Columna 2 = "NA"));
Busqué la función Match, pero me confundí un poco con los múltiples argumentos y expresiones. Tal vez yo tampoco estoy en el camino correcto, por eso necesito un consejo.
Sería genial si alguien pudiera compartir sus pensamientos (preferiblemente a través del área de Fórmulas, pero estará abierto a sugerencias a través de JSL).
Gracias,
vasco
Re: ¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?Ah, veo la confusión. Entonces, como usamos la cadena completa que estaba buscando en la función contiene, obtuvimos un "1" porque la cadena comenzó en la posición 1 o un 0 porque la cadena no comenzó en ninguna posición. Esto funcionó en la declaración If. Si hubiéramos usado Contiene(:columna, "P") hubiera devuelto "3" para cualquier fila con un valor JMPx, ya que P está en la tercera posición. No pensé (o realmente no sabía) acerca de ese matiz, ya que normalmente uso la función de contenido como estabas tratando de hacer... hay algo allí o no. La solución Regex es más sofisticada y es una buena solución para algo que se va a utilizar repetibilidad con datos cambiantes.Re: ¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?Hola @vince_faller ,
Debo admitir que su propuesta es demasiado avanzada para mí en este momento. Gracias por su aporte, sin embargo 
Me gustó mucho la sencilla propuesta de Karen para mi problema.
Saludos,
vasco
Re: ¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?Hola @KarenC ,
¡Gracias, funcionó!Simple y directo 
De hecho, miré la función Contiene en la ayuda de las funciones de caracteres, pero me estaba confundiendo con la descripción, ya que dice que recuperará una "posición numérica". Su solución fue más o menos lo que mencioné en mi publicación, solo tuvo que convertirse en una fórmula JMP real usando la función contiene.
Salud,
vasco
Re: ¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?Regex es realmente poderoso y se usa en muchos idiomas. Aunque es cierto que puede ser bastante difícil de entender.
Names default to here(1);
dt = new table("Example",
New Column("JMPs", character, <<SET values=""></SET>Re: ¿Cómo encontrar un texto específico (palabra) dentro de un carácter de columna - tipo de datos nominal?If( Contains( :name, "JA" ),
"JA",
If( Contains( :name, "MA" ),
"MA",
"NA"
)
)
Creo que estás ahí. JMP tiene una función de carácter llamada contiene. Puede usar eso como se ilustra arriba para el archivo de datos de muestra de clase grande. Consulte la ayuda para funciones de caracteres en ayuda de funcion de caracter