Importa una variabile in un nuovo databaseBuongiorno a tutti,
In un database, eseguo calcoli sulle colonne. Alla fine dello script JSL, alla fine di questi calcoli, ho alcune variabili (come nello script seguente) e il mio obiettivo è inserire queste variabili in un nuovo database.
Ad esempio, la variabile "a" verrebbe inserita nella prima riga e nella prima colonna della mia nuova tabella di dati, la variabile "b" verrebbe inserita nella seconda riga e nella prima colonna della mia nuova tabella di dati...
Ecco il database e lo script che sto utilizzando al momento:

Names Default To Here (1);
dt = current data table();
a = Col Sum(:"test2"n);
show(a); // 3
wait(1);
NewTable = Open("...\NewTable");
NewTable[1,{"Column1"}] = [Expr(a)];La tabella "Nuova tabella" è una tabella vuota con solo i nomi delle colonne già immessi.
Forse c'è una semplice funzione JSL per risolvere questo problema, grazie per il tuo aiuto!
Accesso ai datiRi: Importare una variabile in una nuova base di datiSe non hai righe nella tua NewTable, devi aggiungerle. Inoltre, se stai aggiungendo un singolo valore a una singola cella, non è necessario utilizzare la matrice come valore
Names Default To Here(1);
dt = New Table("", Add Rows(3), New Column("test2", Numeric, Continuous, Values([1, 1, 1])));
a = Col Sum(:"test2"n);
Show(a); // 3
NewTable = New Table("NewTable", Add Rows(0), New Column("Column1", Numeric, Continuous));
Wait(1); // demo purposes
NewTable << Add Rows(1);
Wait(1); // demo purposes
NewTable[1, {"Column1"}] = a;
Ri: Importare una variabile in un nuovo databaseOk fantastico grazie, mi sembrava troppo complicato!
Infatti la tabella “NewTable” è una tabella dati in cui ogni settimana inserirò automaticamente nuovi dati.
Ad esempio oggi inserisco i dati della settimana 44 (Y2023-W44), così via per le prossime settimane.
Sto cercando di automatizzare la colonna in cui dovrebbero apparire i dati in base alla settimana.
Esempio qui sotto con la base e lo script:

a= Char( "Y" ) || Char(Year(today())) || "-" || Char( "W" ) || Char(Week Of Year( Today(),3)-1);
// a = "Y2023-W44"
NewTable[1, {"a"}] = char(c,10,2);
NewTable[2, {"a"}] = char(d,10,2);Qui la mia variabile “a” sostituisce oggi “Y2023-W44”, la la prossima settimana la variabile “a” sarà “Y2023-W45” ect... Per automatizzare semplicemente il riempimento automatico delle celle a settimana.
c e d sono variabili calcolate in anticipo.
Quando si scrive lo script in questo modo non funziona correttamente
Ri: Importare una variabile in una nuova base di datia è variabile quindi dovresti usarlo come tale.
Names Default To Here(1);
yyyy = Year(Today());
ww = Week Of Year(Today(), 3) - 1;
a = Eval Insert("Y^yyyy^-W^ww^");
dt_new = New Table("",
Add Rows(1),
New Column("Y2023-W44", Numeric, Continuous)
);
val = 2;
dt_new[1, a] = val;
Inoltre prenderei in considerazione l'idea di rendere la costruzione della data un po' più chiara utilizzando qualcosa di simile
Names Default To Here(1);
yyyy = Year(Today());
ww = Week Of Year(Today(), 3) - 1;
a = Eval Insert("Y^yyyy^-W^ww^");Ri: Importare una variabile in un nuovo databaseHo usato la seguente formulazione, ha funzionato, prenderò nota della tua risposta e adeguerò la sceneggiatura!
Grazie per la risposta !
a= Char( "Y" ) || Char(Year(today())) || "-" || Char( "W" ) || Char(Week Of Year( Today(),3)-1);
// a = "Y2023-W44"
NewTable[1, char(a)] = char(c,10,2);
NewTable[2, char(a)] = char(d,10,2);