Importieren Sie eine Variable in eine neue DatenbankHallo zusammen,
In einer Datenbank führe ich Berechnungen für Spalten durch. Am Ende des JSL-Skripts, am Ende dieser Berechnungen, habe ich bestimmte Variablen (wie im Skript unten) und mein Ziel ist es, diese Variablen in eine neue Datenbank einzugeben.
Beispielsweise würde die Variable „a“ in die 1. Zeile und 1. Spalte meiner neuen Datentabelle eingegeben werden, die Variable „b“ würde in die 2. Zeile und 1. Spalte meiner neuen Datentabelle eingegeben werden ...
Hier ist die Datenbank und das Skript, die ich derzeit verwende:

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)];Die Tabelle „NewTable“ ist eine leere Tabelle, in der nur die Spaltennamen bereits eingegeben sind.
Vielleicht gibt es eine einfache JSL-Funktion, um dieses Problem zu lösen, vielen Dank für Ihre Hilfe!
DatenzugriffBetreff: Importieren Sie eine Variable in eine neue DatenbankbasisWenn Ihre NewTable keine Zeilen enthält, müssen Sie diese hinzufügen. Auch wenn Sie einen einzelnen Wert zu einer einzelnen Zelle hinzufügen, ist es nicht erforderlich, eine Matrix als Wert zu verwenden
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;
Betreff: Importieren Sie eine Variable in eine neue DatenbankOk, toll, danke, ich sah zu kompliziert aus!
Tatsächlich handelt es sich bei der Tabelle „NewTable“ um eine Datentabelle, in die ich jede Woche automatisch neue Daten eintrage.
Heute gebe ich zum Beispiel die Daten für Woche 44 (Y2023-W44) ein, und so weiter für die nächsten Wochen.
Ich versuche zu automatisieren, in welcher Spalte die Daten basierend auf der Woche angezeigt werden sollen.
Beispiel unten mit der Basis und dem Skript:

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);Hier ersetzt meine Variable „a“ heute „Y2023-W44“, die Nächste Woche wird die Variable „a“ „Y2023-W45“ usw. sein ... Um die automatische Zellbefüllung einfach zu automatisieren pro Woche.
c und d sind zuvor berechnete Variablen.
Wenn das Skript so geschrieben wird, funktioniert es nicht richtig
Betreff: Importieren Sie eine Variable in eine neue Datenbankbasisa ist eine Variable, daher sollten Sie sie als solche verwenden.
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;
Außerdem würde ich darüber nachdenken, die Datumsbildung etwas klarer zu gestalten, indem ich so etwas verwende
Names Default To Here(1);
yyyy = Year(Today());
ww = Week Of Year(Today(), 3) - 1;
a = Eval Insert("Y^yyyy^-W^ww^");Betreff: Importieren Sie eine Variable in eine neue DatenbankIch habe die folgende Formulierung verwendet, es hat funktioniert, ich werde Ihre Antwort zur Kenntnis nehmen und das Skript anpassen!
Danke für Ihre Antwort !
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);