Trabajar con múltiples consultas simultáneamenteHola,
Estoy intentando trabajar simultáneamente con dos consultas del generador de consultas prediseñadas. Eventualmente me gustaría poder trazar los datos uno encima del otro usando el generador de gráficos; sin embargo, el siguiente código arroja un error de acceso o evaluación en dtGroup y dtTarget.
Group = Open("C:\Temp\Group$.jmpquery", Private );
Target = Open("C:\Temp\Target$.jmpquery", Private );
Group << Run Background(
On Run Complete(
dtGroup = queryResult;
)
);
Target << Run Background(
On Run Complete(
dtTarget = queryResult;
)
);
dtGroup << New Column( "ExGroup",
Numeric,
"Ordinal",
Formula( :Data )
);
dtTarget << New Column( "ExTarget",
Numeric,
"Ordinal",
Formula( :Data )
);Intenté hacer que las variables fueran globales (global:dtGroup = queryResult;) pero ocurre el mismo error. ¿Alguna idea de cómo usar ambos? ¿Es una cuestión de alcance/espacio de nombres?
¡Gracias!
Acceso a los datosRe: Trabajar con varias consultas a la vez¡Felicidades!Re: Trabajar con varias consultas a la vezEsto funcionaría, sin embargo, no estoy seguro de cómo realizar funciones utilizando los datos de ambas consultas. Además, queryResult está integrado en la función query On Run Complete().
Después de solucionar algunos problemas y obtener algunos consejos de expertos, el problema tiene que ver con que las consultas no finalizan antes de que el script pase al siguiente comando. Para resolver esto, necesitaría cambiar Ejecutar fondo () a Ejecutar primer plano ().Lo he probado ahora y funciona muy bien.
Re: Trabajar con varias consultas a la vezNo puedo ver dónde ha definido el resultado de la consulta.Pruebe la sintaxis en el script adjunto.
Group = Open("C:\Temp\Group$.jmpquery", Private );
Target = Open("C:\Temp\Target$.jmpquery", Private );
dtGroup = Group << Run Background(
On Run Complete(
New Column( "ExGroup",
Numeric,
"Ordinal",
Formula( :Data ) // this assumes there is a column name :Data in your query
);
)
);
dtTarget = Target << Run Background(
On Run Complete(
New Column( "ExTarget",
Numeric,
"Ordinal",
Formula( :Data ) // this assumes there is a column name :Data in your query
);
)
);
Aquí hay un ejemplo similar, creado y probado para datos de muestra JMP Big Class.jmp.
Test = Open("C:\Temp\test.jmpquery",private);
dtTest = Test << Run Background(
OnRunComplete(
New Column( "ExTest",
Numeric,
"Ordinal",
Formula( :age ) // this assumes there is a column name :Data in your query
);
)
);