¿Cómo puedo agregar todos los valores de columna al filtro personalizado en JMP Query Builder?Hola señor o señora,
Lo que estoy tratando de hacer es extraer una tabla de datos de la primera base de datos usando una consulta SQL, luego quiero colocar valores de una columna de la tabla en filtros personalizados en el segundo generador de consultas JMP.
Intenté obtener valores en Col Serial en la tabla de datos WO extraídos de la primera base de datos como se muestra a continuación:
Col_Values = Tabla de datos( "WO" ):Serie << Obtener valores;
Luego, intente colocar el valor en el filtro personalizado para Col part_id en JMP Query Builder en la segunda base de datos.
Donde( Personalizado( "part_id en (Col_Values)", UI( Personalizado( Base( "Continuo" ) ) ) ) )
Pero no funcionó.
Estaría realmente agradecido si hubiera alguna manera de poder hacer esto.
Gracias de antemano.
Acceso a datosRe: ¿Cómo puedo agregar todos los valores de columna al filtro personalizado en JMP Query Builder?Esto le proporcionará todos los valores de la tabla de datos.
col_values=data table("WO")[0,0]Re: ¿Cómo puedo agregar todos los valores de columna al filtro personalizado en JMP Query Builder?No estoy seguro de en qué punto tienes problemas, pero primero obtén una lista de valores únicos de tu columna.
Utilice una matriz asociativa (no funciona con flotantes) y puede ser lento si tiene muchos datos (también reordena sus datos)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
uniq_age = Associative Array(Column(dt, "age")) << get keys;
Utilice la función Resumir para cambiar los números a cadenas, lo cual es bueno en este caso.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
O utilice la plataforma de resumen y la subscripción de tablas de datos/obtener valores.
Luego, convierte esa lista en una cadena usando concat items y crea tu cadena de consulta. Es posible que tengas que evaluar el valor, pero no estoy seguro de si esto es necesario.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
uniq_age_in = Concat Items(uniq_age, ", ");
//uniq_age_in = "'" || Concat Items(uniq_age, "', '") || "'"; // note that if you have string, you need to add quotes
custom_sql_template = "part_id in (¤uniq_age_in¤)";
custom_sql = Eval Insert(custom_sql_template, "¤");
// your sql thing
Where(Custom(custom_sql, UI(Custom(Base("Continuous")))));
// or if evaluation is necessary
Eval(EvalExpr(
Where(Custom(Expr(custom_sql), UI(Custom(Base("Continuous")))));
));
Re: ¿Cómo puedo agregar todos los valores de columna al filtro personalizado en JMP Query Builder?Hola,
Muchas gracias por tu respuesta. Necesito modificar un poco el script como se muestra a continuación, pero en general funciona perfectamente como quiero. Realmente aprecio tu ayuda.
Gracias,
Tabla de datos("WorkOrder_Serial") << Nueva columna("WO_SN",
Personaje,
"Nominal",
Fórmula( "'" || :serial || "'")
);
//Hice una nueva columna con comillas porque funciona bien.
Resumir( Tabla de datos( "WorkOrder_Serial" ), SN = Por( :WO_SN ) );
uniq_age_in = Concat Elementos( SN, "," );