Ce programme exécute une série de tests unitaires pour s'assurer que la macro `%mp_makedata` fonctionne correctement. Il crée des tables avec des contraintes spécifiques (clés primaires, valeurs non nulles) via `PROC SQL`, peuple ces tables à l'aide de la macro, puis utilise `%mp_assert` et des étapes `DATA _NULL_` pour vérifier le nombre d'observations, l'intégrité des données (longueur des chaînes) et la gestion des erreurs.
Analyse des données
Type : CREATION_INTERNE
Les données sont générées dynamiquement par la macro `%mp_makedata` en se basant sur la structure des tables définies dans le script (work.example, work.example2).
1 Bloc de code
PROC SQL Data
Explication : Définition de la structure de la table de test `work.example` avec des contraintes d'intégrité, suivie de la génération de 500 observations de test via `%mp_makedata`.
Explication : Vérification via `%mp_assert` que le nombre d'observations dans la table créée est exactement de 500, en utilisant la macro utilitaire `%mf_nobs`.
Copié !
%mp_assert(
iftrue=("%mf_nobs(work.example)"="500"),
desc=Check that 500 rows were created,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=("%mf_nobs(work.example)"="500"),
3
desc=Check that 500 rows were created,
4
outds=work.test_results
5
)
3 Bloc de code
DATA STEP
Explication : Étape Data technique pour récupérer la longueur de la variable `dd_source` de la première observation et la stocker dans la macro-variable `lenvar` pour assertion ultérieure.
Copié !
data _null_;
set work.example;
call symputx('lenvar',length(dd_source));
stop;
run;
1
DATA _null_;
2
SET work.example;
3
call symputx('lenvar',LENGTH(dd_source));
4
stop;
5
RUN;
4 Bloc de code
MACRO CALL
Explication : Assertion vérifiant que la variable `dd_source` a bien été peuplée sur toute sa longueur déclarée (2048 caractères).
Copié !
%mp_assert(
iftrue=("&lenvar"="2048"),
desc=Check that entire length of variable is populated,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=("&lenvar"="2048"),
3
desc=Check that entire LENGTH of variable is populated,
4
outds=work.test_results
5
)
5 Bloc de code
PROC SQL Data
Explication : Création d'une seconde table `work.example2` sans contraintes de clé primaire pour tester le comportement par défaut de la génération de données.
Explication : Vérification finale que l'exécution s'est déroulée sans erreur système (`&syscc=0`) pour la table sans clés.
Copié !
%mp_assert(
iftrue=(&syscc=0),
desc=Ensure tables without keys still generate,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=(&syscc=0),
3
desc=Ensure tables without keys still generate,
4
outds=work.test_results
5
)
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.