Lavorare con più query contemporaneamenteCiao,
Sto tentando di lavorare contemporaneamente con due query predefinite del generatore di query. Mi piacerebbe eventualmente riuscire a tracciare i dati uno sopra l'altro utilizzando il generatore di grafici, tuttavia il codice seguente genera un errore di accesso o di valutazione su dtGroup e 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 )
);Ho provato a rendere le variabili globali (global:dtGroup = queryResult;) ma si verifica lo stesso errore. Qualche idea su come usarli entrambi? È un problema di ambito/spazio dei nomi?
Grazie!
Accesso ai datiRe: Lavorare con più query contemporaneamenteCongratulazioni!Re: Lavorare con più query contemporaneamenteFunzionerebbe, tuttavia, non sono sicuro di come eseguire le funzioni utilizzando i dati di entrambe le query. Inoltre, queryResult è integrato nella funzione query On Run Complete().
Dopo un po' di risoluzione dei problemi e la consulenza di un esperto, il problema ha a che fare con le query che non terminano prima che lo script passi al comando successivo. Per risolvere questo problema, dovrei cambiare Run Background() in Run Foreground().L'ho provato ora e funziona benissimo.
Re: Lavorare con più query contemporaneamenteNon riesco a vedere dove hai definito il risultato della query.Prova la sintassi nello script allegato.
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
);
)
);
Ecco un esempio simile, creato e testato per i dati di esempio 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
);
)
);