Ich habe Daten aus einer Datenbank, die eine Spalte für die Nummer des aktuellen Monats zuweist, wenn die Daten abgerufen werden, und dann separate Spalten für die vorherigen Monate erstellt, die zurückgezählt werden. Für einen 24-monatigen Daten-Pull ab September gibt es also eine Spalte "Aktueller Monat" mit dem Wert "9" für alle Zeilen, dann 24 Spalten mit tiefgestellter Überschrift "_01", "_02", ... "_24", was "Aug 2021", "Jul 2021",..."Sep 2019" bezeichnet.
Ich habe eine manuelle Formel verwendet, um jeden Monat einzugeben, möchte dies jedoch mit dem Wert "Aktueller Monat" automatisieren. Ich habe keine Ahnung, wie dies sowohl für den Monat als auch für das Jahr geht, da sich das Jahr basierend auf dem Wert für den aktuellen Monat ändert.
Jede Hilfe wäre sehr dankbar!
Dies ist ein Datentabellenskript für ein 24-Monats-Zeilenbeispiel mit einer manuell generierten DateKey-Spalte basierend auf dem Wert für den aktuellen Monat, der September ist:
dt=New Table( "Set Month with Key Example",
Add Rows( 24 ),
Compress File When Saved( 1 ),
New Column( "Month",
Character,
"Nominal",
Set Values(
{"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"}
)
),
New Column( "DateKey",
Character,
Set Values(
{"01082021", "01072021", "01062021", "01052021", "01042021", "01032021", "01022021", "01012021", "01122020", "01112020", "01102020", "01092020", "01082020", "01072020", "01062020", "01052020", "01042020", "01032020", "01022020", "01012020", "01122019", "01112019", "01102019", "01092019"}
)
)
);
<BR />dt:DateKey << Data Type( Numeric, Format( "m/y", 8 ), Input Format( "ddmmyyyy" ) ) <<<BR />Set Modeling Type( "Continuous" ) << Set Field Width( 12 );
CurMonth=9;
Monique
Hier ist eine mögliche Lösung mit Date Increment. Wird als Formel ausgeführt, sollte jedoch in einer Schleife ziemlich einfach zu verwenden sein, wenn Sie Spalten umbenennen möchten:
CurMonth = 9;
currentDate = Date DMY(1, curmonth, Year(Today()));
Date Increment(currentDate, "Month", -1 * Num(:Month), "start");
Zuerst wird curMonth verwendet, um currentDate unter der Annahme zu generieren, dass das Startjahr mit dem aktuellen Jahr übereinstimmt, dann wird dieses Datum in der Funktion Datumsinkrement verwendet.
