Le script se compose de trois blocs principaux. Le premier bloc calcule la durée (jours, jours ouvrés, semaines, mois) entre la date du jour et une date de vacances prédéfinie, en stockant les résultats dans une table CAS. Le deuxième bloc génère des informations fictives sur les paiements, incluant un identifiant client, une date d'échéance et une date de réception du paiement, puis les sauvegarde dans une autre table CAS. Le troisième bloc utilise PROC PRINT pour afficher les enregistrements des clients dont le paiement a été reçu plus de 10 jours ouvrés après la date d'échéance.
Analyse des données
Type : CREATION_INTERNE
Toutes les données traitées et générées par ce script sont créées en interne. La première table est construite à partir de fonctions SAS internes (TODAY()) et de dates littérales. La seconde table est générée aléatoirement à l'aide de la fonction RAND(). Aucune donnée externe ou de bibliothèque SASHELP n'est utilisée comme source primaire.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA STEP initialise une session CAS et crée la table 'casuser.tidTillSemestern'. Il calcule la différence entre la date courante (IDAG) et une date de début de semestre (STARTSEM) en utilisant la fonction INTCK. Les calculs sont effectués en jours (DAGARTILLSEM), jours ouvrés (VECKODAGARTILLSEM), semaines (VECKORTILLSEM) et mois (MANADERTILLSEM), avec l'option 'c' pour une comptabilisation continue pour les semaines et les mois. Les dates sont formatées en JJMMAAAA.
Copié !
cas;
data casuser.tidTillSemestern;
idag = today();
startSem = '15jun2023'd;
dagarTillSem = intck('day', idag, startSem);
veckodagarTillSem = intck('weekday', idag, startSem);
veckorTillSem = intck('week', idag, startSem, 'c');
manaderTillSem = intck('month', idag, startSem, 'c');
format idag startSem yymmdd10.;
run;
Explication : Ce bloc DATA STEP crée la table 'casuser.betalningsInformation' en générant 20 enregistrements de données fictives. Pour chaque 'kundID' (identifiant client), il assigne une 'forfallodatum' (date d'échéance) aléatoire en mars 2023 et une 'betalningInkommen' (date de réception du paiement) qui est la date d'échéance plus ou moins un nombre aléatoire de jours (entre -5 et 20). Les dates sont également formatées en JJMMAAAA.
Copié !
/*skapa data*/
data casuser.betalningsInformation;
do kundID = 1 to 20;
forfallodatum = rand('integer', '01mar2023'd, '31mar2023'd);
betalningInkommen = forfallodatum + rand('integer', -5, 20);
output;
end;
format forfallodatum betalningInkommen yymmdd10.;
run;
Explication : Ce bloc utilise PROC PRINT pour afficher une sélection d'enregistrements de la table 'casuser.betalningsInformation'. La clause WHERE filtre les enregistrements pour n'inclure que les clients dont la différence entre la date d'échéance et la date de réception du paiement, calculée en jours ouvrés ('weekday') par la fonction INTCK, est supérieure à 10. Cela permet d'identifier les clients ayant un retard de paiement significatif. L'instruction ID spécifie que la variable KUNDID doit être utilisée comme identifiant dans le rapport.
Copié !
/*Kunder som är mer än 10 veckodagar sena med sin betalning*/
proc print data=casuser.betalningsInformation;
id kundID;
where intck('weekday', forfallodatum, betalningInkommen) > 10;
run;
1
/*Kunder som är mer än 10 veckodagar sena med sin betalning*/
2
PROC PRINTDATA=casuser.betalningsInformation;
3
id kundID;
4
where intck('weekday', forfallodatum, betalningInkommen) > 10;
5
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.