Consultas JMP y SQLHola chicos, tengo dos preguntas relacionadas que serían geniales si encontrara una solución para:
1. ¿Hay alguna forma de que JMP pueda alterar un campo en una consulta SQL? Quiero decir que deseo ejecutar código JSL que le preguntará a un usuario el rango de fechas (por ejemplo), lo actualizará en el campo relevante en mi consulta SQL y ejecutará esta consulta.
2. ¿Es posible crear un código JSL que le pregunte al usuario si ejecutar una consulta X o una consulta Y y, en función de la respuesta, ejecutará la consulta elegida?
Para ambas preguntas, en este momento mi código ejecuta consultas que se han convertido a archivos BAT (solía trabajar con archivos EXE, pero SQL ya no lo admite como estándar.
Ejemplo de botón Ejecutar:
Cuadro de botones ("xx",
abierto ("\\ VMSPFSFSLC01 \ F28_PLI \ SQL \ FE SQL \ xx.bat")
),
AnalíticaTabla de datosScriptingRe: consultas JMP y SQLQuizás quieras echar un vistazo a un artículo reciente:
Estrategias y ejemplos para la adquisición de datos de fuentes distribuidas y complejas ... - Comunidad de usuarios de JMP
En el video encontrará cómo funciona y en el diario encontrará todos los scripts que funcionan con la tabla de muestra Big Class.jmp.
Pero prácticamente lo mismo funciona también en conexiones ODBC para bases de datos.
Re: consultas JMP y SQLHola Stas
Puede recopilar sus fragmentos de código SQL como desee. Tengo dos muestras para darte una idea de cómo solucionar tu problema:
OrderNumber = 12345;
text_block_DB_0 = "select t1.* from DB1 t1";
if(selection_button, // can be a choice of the user
text_block_DB_1 = " and t1.[time]=(select max(t2.[time]) from DB1 t2 where t1.[SN] = t2.[SN])"; // get the laste entry of a serial number dependend of time)
,
text_block_DB_1 = ""; // gives all SN
)
dt = Open Database(__DSN_String,text_block_DB_0 || " where t1.[Order] = " || char(OrderNumber) || text_block_DB_1);
OrderNumber = 12345;
text_block_DB_0 = "select t1.* from DB1 t1 where t1.[Order] = *insert_order_number* ";
if(selection_button,
text_block_DB_1 = " and t1.[time]=(select max(t2.[time]) from DB1 t2 where t1.[SN] = t2.[SN])";
,
text_block_DB_1 = "";
)
dt = Open Database(__DSN_String,substitute(text_block_DB_0,"*insert_order_number*", char(OrderNumber)) || text_block_DB_1);