-
-
Save hdary85/132c549ed73fbda66a1862d3b736231e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%macro CalculTrimestre(dateDebutTrimestre); | |
/* Format the dateDebutTrimestre variable as a date */ | |
%let dateDebutTrimestre = %sysfunc(inputn(&dateDebutTrimestre, date9.)); | |
/* Étape 1: Filtrer les clients dont l'anniversaire est dans le trimestre fourni */ | |
proc sql; | |
create table ClientsAnniversaire as | |
select * | |
from VotreTable | |
where month(DATE_DE_NAISSANCE_CLIENT) in ( | |
month(&dateDebutTrimestre), | |
month(intnx('month', &dateDebutTrimestre, 1, 'b')), | |
month(intnx('month', &dateDebutTrimestre, 2, 'b')) | |
); | |
quit; | |
/* Étape 2: Calculer le total déposé sur les 12 mois précédant la date de début du trimestre fourni */ | |
proc sql; | |
create table TotalDepose as | |
select ID_CLIENT, | |
sum(MONTANT) as TotalDepose | |
from VotreTable | |
where DATE_DEPOT >= intnx('month', &dateDebutTrimestre, -12, 's') | |
and DATE_DEPOT < &dateDebutTrimestre | |
group by ID_CLIENT; | |
quit; | |
/* Étape 3: Afficher les résultats */ | |
proc print data=ClientsAnniversaire; | |
title "Clients dont l'anniversaire est dans le trimestre fourni"; | |
run; | |
proc print data=TotalDepose; | |
title "Total déposé sur les 12 mois précédant la date de début du trimestre fourni"; | |
run; | |
%mend; | |
/* Exemple d'utilisation de la macro avec une date de début de trimestre spécifique */ | |
%CalculTrimestre('01JAN2024'd); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment