Extraer información de la variable delimitada por comas<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />P: ¿Es posible buscar dentro de una variable delimitada por comas y extraer información?
Contexto: tengo una lista de productos (5) asociada con una variable de varios pinchazos y quiero mirar dentro de la variable, ver si el valor asociado con el Producto 4 (4) existe y, de ser así, etiquetar a esta persona como usuario.
Datos de ejemplo:
| CARNÉ DE IDENTIDAD | Productos utilizados |
|---|
| 234241241 | 2,4,5 |
Usar un IF simple (var == 4,1,0) no funciona. Creo que está buscando una respuesta que esté perfectamente en línea con lo que está en la celda en lugar de buscar el nivel existente en todos los datos.
Obviamente, podría reformatear los datos para que cada producto tenga su propia columna, pero me gustaría saber si hay alguna forma de evitar esto con las funciones de fórmula.
¡Gracias!
Re: Extraer información de la variable delimitada por comasHubo un pequeño error en el código que solucioné anteriormente.
Pero para responder a su pregunta, si solo tuviera que copiarlo y pegarlo en el campo de fórmula, pegue esto:
Si (! Falta) (Regex (: Productos utilizados, "4")), "Verdadero", "Falso")
La única diferencia es la parte de la columna, ya que no tiene que definir su tabla.
Re: Extraer información de la variable delimitada por comasSi etiqueta su columna como una columna de respuesta múltiple (es decir, agrega una propiedad de respuesta múltiple a la columna), puede usar el filtro de datos para dividir los diferentes valores.
p.ej,
Nueva mesa ( "prueba" ,
Añadir filas ( 10 ) ,
Nueva Columna ( "Productos" ,
Personaje ,
"Nominal" ,
Establecer propiedad ( "Respuesta múltiple" , Respuesta Múltiple (Separador ( " ))) ,
Establecer valores (
{ "1,2,4" , "1,3,4" , "2,3" , "2,4" , "1,2" , "4" , "1" , "3" , "1,4" , "1" }
)
) ,
Nueva Columna ( "Usuario" ,
Numérico ,
"Continuo" ,
Formato ( "Mejor" , 12 ) ,
Valores establecidos ([ 2 , 3 , 1 , 3 , 2 , 4 , 1 , 3 , 4 , 4 ])
)
) ;
Tabla de datos actual () << Filtro de datos (
Ubicación( { 1166 , 73 }) ,
Añadir filtro(
columnas : Productos) ,
Monitor( : Productos , Tamaño( 53 , 77 ) , Mostrar casilla de verificación)
)
) ;
Ahora, puede utilizar el filtro de datos para seleccionar la categoría de interés.
Esto puede darte lo que quieres.
Re: Extraer información de la variable delimitada por comasPrueba la función Contains ():
Contiene ( : Productos utilizados , "4" ) > 0
Re: Extraer información de la variable delimitada por comasVoy a probar esto. Gracias.
¿Es esta una fórmula que funcionaría en la ventana de diálogo de fórmulas al crear una nueva columna?
Re: Extraer información de la variable delimitada por comasEn realidad, creo que quieres decir algo diferente.
dt = tabla de datos actual ();
dt << Nueva columna ("Nombre", Carácter, Nominal, Fórmula (! IsMissing (regex (Columna (dt, "Productos usados") [], "4")), "Verdadero", "Falso")));
Esto utiliza expresiones regulares y busca en la columna "Productos utilizados" para un "4". Si hay un 4, se escupe Verdadero en la nueva columna, de lo contrario se escupe "Falso"
Re: Extraer información de la variable delimitada por comasSi entiendo bien, usa:
dt = tabla de datos actual ();
dt << Nueva columna ("Nombre", Carácter, Nominal, Fórmula (If (palabras (Columna (dt, "Productos utilizados") [], ",") == 4, palabra (4, Columna (dt, "Productos utilizados") [], ","))));
Esto agrega una nueva columna "Nombre" que verifica la columna "Productos usados" si tiene exactamente 4 elementos separados por comas. Si lo hace, coloca el cuarto elemento separado por comas como el valor de la columna.