J'ai des données d'une base de données qui attribue une colonne pour le numéro du mois en cours lorsque les données sont extraites, puis crée des colonnes séparées pour les mois précédents en comptant à rebours. Ainsi, pour une extraction de données de 24 mois à partir de septembre, il y aura une colonne "Mois en cours" qui aura la valeur "9" pour toutes les lignes, puis elle aura 24 colonnes avec en-tête d'indice "_01", "_02", ... "_24", qui désigne "Aug 2021", "Jul 2021",..."Sep 2019".
J'ai utilisé une formule manuelle à saisir chaque mois, mais j'aimerais automatiser cela en utilisant la valeur "Mois en cours". Je ne sais pas comment faire cela, à la fois pour le mois et l'année, car l'année change en fonction de la valeur du mois en cours.
N'importe quelle aide serait appréciée beaucoup !
Il s'agit d'un script de table de données pour un exemple de ligne de 24 mois avec une colonne DateKey générée manuellement en fonction de la valeur du mois en cours en septembre :
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
Voici une solution possible utilisant l'incrément de date. Fait comme Formula mais devrait être assez facile à utiliser en boucle si vous souhaitez renommer des colonnes :
CurMonth = 9;
currentDate = Date DMY(1, curmonth, Year(Today()));
Date Increment(currentDate, "Month", -1 * Num(:Month), "start");
First curMonth est utilisé pour générer currentDate en supposant que l'année de début est la même que l'année en cours, puis cette date est utilisée dans la fonction Date Increment.
