Devuelve "Verdadero" o "Falso" si varias columnas contienen una cadenaHola,
Me gustaría devolver "Falso" si los datos de alguna columna contienen "hola", de lo contrario, devolver un "Verdadero"

Solo puedo procesar 1 columna con if, ¿alguna idea?
AnalíticaTabla de datossecuencias de comandosRe: Devuelve "Verdadero" o "Falso" si varias columnas contienen una cadenaHola,
Tengo un conjunto de datos con unas pocas miles de filas, pero necesitaría procesar los datos con un script jmp. Hasta ahora, mi guión ha filtrado todo el ruido. Solo necesito saber cómo implementar la solución que proporcionó
Re: Devuelve "Verdadero" o "Falso" si varias columnas contienen una cadenaEn términos de Excel, esta es mi fórmula:
=SI(CONTAR.SI(R21602:AC21602,"HOLA")>0,"FALSO","VERDADERO")
Re: Devuelve "Verdadero" o "Falso" si varias columnas contienen una cadenaCrearías una nueva fórmula. personaje columna Crear fórmulas en JMP (jmp.com) como última columna en la tabla de datos y copie y pegue la fórmula que proporcioné. Después de eso, puede volver a abrir las propiedades de la columna haciendo doble clic en el encabezado de la columna y eliminar la fórmula si lo desea. Si tiene un registro mejorado JMP16, debe proporcionarle un script para realizar esto si es necesario.
Tenía un "," adicional en la publicación anterior (lo editaré):
If(N Items(Loc(Current Data Table()[Row(), 1::N Cols()], "hello")) > 0,
"FALSE"
,
"TRUE"
);
Re: Devolver "Verdadero" o "Falso" si varias columnas contienen una cadena¿Qué pasa si me interesa obtener la cantidad de veces que aparece "hola" en este rango de columnas?
Y otra situación: ¿qué pasa si la palabra "hola" es parte del texto de la celda en ciertas columnas?
Re: Devolver "Verdadero" o "Falso" si varias columnas contienen una cadena1. Puedes usar Loc para buscar coincidencias
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
N Items(Loc(dt[Row(), Index(rangelow, rangehigh)], "hello"));
2. Supongo que quieres saber cuántas veces aparece "hola" en ese rango. Bucle + Contiene o Sustituir + Longitud son opciones.
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
str = Concat Items(dt[Row(), Index(rangelow, rangehigh)], " ");
new_str = Substitute(str, "hello", "");
(Length(str) - Length(new_str)) / Length("hello")
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello"));
N Items(res);
Ver más...
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 2", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 3", Character, "Nominal", Set Values({"hello", "hello", "bye"})),
New Column("Column 4", Character, "Nominal", Set Values({"hello", "a hello a", "bye"})),
New Column("Column 5", Character, "Nominal", Set Values({"hello", "bye", "bye"}), Set Display Width(75)),
New Column("Column 6", Character, "Nominal", Set Values({"hello", "bye", "bye"}))
);
dt << new column("hellocount", numeric, continuous, formula(
If( Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
N Items(Loc(dt[Row(), Index(rangelow, rangehigh)], "hello"));
));
dt << new column("hellocountwithin", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
str = Concat Items(dt[Row(), Index(rangelow, rangehigh)], " ");
new_str = Substitute(str, "hello", "");
(Length(str) - Length(new_str)) / Length("hello");
));
dt << new column("hellocountwithin2", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello"));
N Items(res);
));
Re: Devolver "Verdadero" o "Falso" si varias columnas contienen una cadenaMuchas gracias. La fórmula funcionó perfectamente. Sin embargo, me di cuenta de que mis datos son un poco más complejos.
Tengo dos palabras clave, por ejemplo, "hola" y "Hola". En algunas celdas, "Hola" puede aparecer dos o tres veces, y en otras, tanto "Hola" como "Hola" pueden estar presentes. Necesito contar el número de celdas que contienen cada palabra; cada celda debe contarse solo una vez, independientemente de cuántas veces aparezcan las palabras.
Re: Devolver "Verdadero" o "Falso" si varias columnas contienen una cadenaSupongo que esto es lo que estás buscando.

Básicamente, ya se le ha proporcionado la respuesta para esto, seleccione la "fórmula" "correcta" (estas no se evalúan dinámicamente) y agregue una verificación adicional para "hola".
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 2", Character, "Nominal", Set Values({"hello", "bye", "bye"})),
New Column("Column 3", Character, "Nominal", Set Values({"hello", "hello", "bye"})),
New Column("Column 4", Character, "Nominal", Set Values({"hello", "a hello a", "bye"})),
New Column("Column 5", Character, "Nominal", Set Values({"hello", "bye", "bye"}), Set Display Width(75)),
New Column("Column 6", Character, "Nominal", Set Values({"hello hello hi", "hi hi hi hi", "bye"}))
);
dt << new column("C", numeric, continuous, formula(
If(Row() == 1,
dt = Current Data Table();
rangelow = 1;
rangehigh = 6;
);
res = Filter Each({val}, dt[Row(), Index(rangelow, rangehigh)], Contains(val, "hello") | Contains(val, "hi"));
N Items(res);
));