Gleichzeitiges Arbeiten mit mehreren AbfragenHallo,
Ich versuche, gleichzeitig mit zwei vorgefertigten Abfragen des Abfrage-Generators zu arbeiten. Ich möchte die Daten mithilfe des Graph Builders schließlich übereinander darstellen können, der folgende Code verursacht jedoch einen Zugriffs- oder Auswertungsfehler bei dtGroup und 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 )
);Ich habe versucht, die Variablen global zu machen (global:dtGroup = queryResult;), aber es tritt der gleiche Fehler auf. Irgendeine Idee, wie man beides verwendet? Ist es ein Bereichs-/Namespace-Problem?
Danke!
DatenzugriffBetreff: Arbeiten mit mehreren Abfragen gleichzeitigHerzliche Glückwünsche!Betreff: Arbeiten mit mehreren Abfragen gleichzeitigDies würde funktionieren, aber ich bin mir nicht sicher, wie ich dann Funktionen mit den Daten aus beiden Abfragen ausführen soll. Außerdem ist queryResult in die Funktion query On Run Complete() integriert.
Nach einiger Fehlerbehebung und Expertenrat hat das Problem damit zu tun, dass die Abfragen nicht abgeschlossen werden, bevor das Skript mit dem nächsten Befehl fortfährt. Um dies zu lösen, müsste ich Run Background() in Run Foreground() ändern.Ich habe es jetzt getestet und es funktioniert super.
Betreff: Arbeiten mit mehreren Abfragen gleichzeitigIch kann nicht sehen, wo Sie das Abfrageergebnis definiert haben.Probieren Sie die Syntax im angehängten Skript aus.
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
);
)
);
Hier ist ein ähnliches Beispiel, das für JMP-Beispieldaten Big Class.jmp erstellt und getestet wurde.
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
);
)
);