Importer une variable dans une nouvelle base de donnéesBonjour à tous,
Dans une base de données, je réalise des calculs sur des colonnes. A la fin du script JSL, Au bout de ces calculs, je dispose de certaines variables (comme dans le script ci-dessous) et mon but est de renseigner ces variables dans une nouvelle base de données.
Par exemple, la variable « a » serait renseignée dans la 1ère ligne et 1ère colonne de ma nouvelle table de données, la variable « b » serait renseignée dans la 2ème ligne et 1ère colonne de ma nouvelle table de données...
Voici la base de données et le script que j’utilise pour le moment :

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 table « NewTable » est une table vide avec seulement les noms de colonnes déjà resneignés.
Peut-être il existe une fonction JSL facile pour résoudre ce problème, merci pour votre aide !
Data AccessRe: Importer une variable dans une nouvelle base de donnéesSi vous n'avez aucune ligne dans votre NewTable, vous devez les ajouter. De plus, si vous ajoutez une valeur unique à une seule cellule, pas besoin d'utiliser une matrice comme valeur
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;
Re: Importer une variable dans une nouvelle base de donnéesOk super merci, je cherchais trop compliqué !
En fait, la table « NewTable » est une table de données dans laquelle toutes les semaines je vais rentrer automatiquement de nouvelles données.
Par exemple aujourd’hui je rentre les données de la semaine 44 (Y2023-W44), ainsi de suite pour les prochaines semaines.
J’essaye d’automatiser la colonne dans laquelle les données doivent apparaître en fonction de la semaine.
Exemple ci-dessous avec la base et le 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);Ici ma variable « a » vient remplacer aujourd’hui « Y2023-W44 », la semaine prochaine la variable « a » sera « Y2023-W45 » ect... Pour automatiser simplement le remplissage automatique des cellules par semaine.
c et d sont des variables calculées au préalable.
En écrivant le script comme ceci, cela ne fonctionne pas correctement
Re: Importer une variable dans une nouvelle base de donnéesa est variable, vous devez donc l'utiliser comme tel.
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;
J'envisagerais également de rendre la construction de la date un peu plus claire en utilisant quelque chose comme ceci
Names Default To Here(1);
yyyy = Year(Today());
ww = Week Of Year(Today(), 3) - 1;
a = Eval Insert("Y^yyyy^-W^ww^");Re: Importer une variable dans une nouvelle base de donnéesJ'ai utilisé la formulation suivante, cela a fonctionné, je vais prendre en note votre réponse et ajuster le script !
Merci pour votre réponse !
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);