Ho dati da un database che assegna una colonna per il numero del mese corrente quando i dati vengono estratti, quindi crea colonne separate per il conteggio dei mesi precedenti. Quindi per un pull di dati di 24 mesi da settembre, ci sarà una colonna "Mese corrente" che ha il valore "9" per tutte le righe, quindi avrà 24 colonne con intestazione pedice "_01", "_02", ... "_24", che indica "Ago 2021", "Luglio 2021",..."Settembre 2019".
Ho usato una formula manuale da inserire ogni mese, ma vorrei automatizzarla utilizzando il valore "Mese corrente". Non ho idea di come farlo, sia per il mese che per l'anno, poiché l'anno cambia in base a quale sia il valore per il mese corrente.
Qualsiasi aiuto sarebbe molto apprezzato!
Questo è uno script di tabella dati per un esempio di riga di 24 mesi con una colonna DateKey generata manualmente in base al valore del mese corrente che è settembre:
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
Ecco una possibile soluzione utilizzando Date Increment. Fatto come Formula ma dovrebbe essere abbastanza facile da usare in loop se vuoi rinominare le colonne:
CurMonth = 9;
currentDate = Date DMY(1, curmonth, Year(Today()));
Date Increment(currentDate, "Month", -1 * Num(:Month), "start");
First curMonth viene utilizzato per generare currentDate con il presupposto che l'anno di inizio sia lo stesso dell'anno corrente, quindi tale data viene utilizzata nella funzione Date Increment.
