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 denota "Agosto 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 al valore del mese corrente.
Qualsiasi aiuto sarebbe molto apprezzato!
Questo è uno script di tabella di 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
Grazie mille, funziona benissimo!
Ecco una possibile soluzione utilizzando l'incremento della data. 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");
Il primo curMonth viene utilizzato per generare currentDate presupponendo che l'anno di inizio sia lo stesso dell'anno corrente, quindi tale data viene utilizzata nella funzione di incremento della data.
