Script: salva i risultati della query SQL nel progettoCiao, probabilmente una domanda da principiante, ma non sono riuscito a trovare una soluzione da solo: voglio salvare la tabella generata da una query SQL tramite JSL in un progetto. Il codice è sotto; etichette, ecc. sono state omesse. Sfortunatamente, il dt sembra essere eliminato dopo aver eseguito la query in background. E' una questione di tempi? Grazie per qualsiasi aiuto.
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
project = New Project();
project << Save As("");
Automazione e scriptingAccesso ai datiRi: Scripting: salva i risultati della query SQL nel progettoL'esecuzione della query in background fa sì che JMP non attenda i risultati prima di passare al comando successivo, quindi è necessario dirgli di attendere.In genere definisco dt come Vuoto() prima della query e quindi dico a JMP di attendere finché dt non è scriptabile prima di procedere.
dt = Empty();
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
While( !Is Scriptable( dt ), Wait( 1 ) );
project = New Project();
project << Save As("");Ri: Scripting: salva i risultati della query SQL nel progettoSe desideri eseguire la query in background ed eseguire comunque alcune azioni al termine della query, puoi utilizzare PostQueryScript
Names Default To Here(1);
obj = New SQL Query(Connection("ODBC:DSN=SampleDSN;"), Custom SQL("SELECT c1, c2, c3 FROM my_table;"));
obj << Post Query Script("show( queryResult << Get As Matrix );");
o penso che potresti anche usare < ma devi aggiungere altro script al suo interno (e potresti aver bisogno di un ambito globale...).