Travailler avec plusieurs requêtes simultanémentBonjour,
J'essaie de travailler simultanément avec deux requêtes de générateur de requêtes prédéfinies. J'aimerais éventuellement pouvoir tracer les données les unes sur les autres à l'aide du générateur de graphiques, mais le code ci-dessous génère une erreur d'accès ou d'évaluation sur dtGroup et 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 )
);J'ai essayé de rendre les variables globales (global:dtGroup = queryResult;) mais la même erreur se produit. Une idée de comment utiliser les deux ? Est-ce un problème de portée/espace de noms ?
Merci!
Accès aux donnéesRe : Travailler avec plusieurs requêtes simultanémentToutes nos félicitations!Re : Travailler avec plusieurs requêtes simultanémentCela fonctionnerait, cependant, je ne sais pas comment exécuter ensuite des fonctions en utilisant les données des deux requêtes. En outre, queryResult est intégré à la fonction query On Run Complete().
Après quelques dépannages et l'obtention de conseils d'experts, le problème est lié au fait que les requêtes ne se terminent pas avant que le script ne passe à la commande suivante. Pour résoudre ce problème, je devrais changer le Run Background() en Run Foreground().Je l'ai testé maintenant et ça marche très bien.
Re : Travailler avec plusieurs requêtes simultanémentJe ne vois pas où vous avez défini le résultat de la requête.Essayez la syntaxe dans le script joint.
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
);
)
);
Voici un exemple similaire, créé et testé pour les exemples de données 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
);
)
);