Publié le :
Macro INTERNE

Génération de DDL pour une table SAS

Ce code est également disponible en : Deutsch English Español
La macro `%mp_ds2ddl` agit comme une interface simplifiée pour la macro plus générique `%mp_getddl`. Elle prend en entrée une référence complète de librairie et de dataset (`libds`), puis procède à l'extraction du nom de la librairie et du dataset. Un mécanisme de vérification est en place pour assigner par défaut la librairie `WORK` si aucune librairie n'est explicitement fournie dans le paramètre `libds`. Tous les autres paramètres (`fref`, `flavour`, `showlog`, `schema`, `applydttm`) sont directement transmis à la macro sous-jacente `%mp_getddl`, qui est la responsable effective de la logique de génération de la DDL.
Analyse des données

Type : INTERNE


La macro opère sur une table SAS existante spécifiée par le paramètre `libds`. Elle n'introduit pas de nouvelles données ni ne lit de fichiers externes non gérés par le script lui-même. Les données sont supposées être déjà disponibles dans l'environnement SAS lors de l'appel de la macro.

1 Bloc de code
MACRO MP_DS2DDL
Explication :
Ce bloc définit la macro `%mp_ds2ddl`. Elle commence par déclarer une variable locale `libref`. Elle convertit ensuite la valeur du paramètre `libds` en majuscules. La macro extrait la partie 'libref' de `libds`. Si `libds` ne contient qu'un nom de table (pas de librairie spécifiée), elle préfixe `WORK.` pour former une référence complète. Enfin, elle appelle la macro `%mp_getddl` en lui passant la librairie et le nom de la table extraits, ainsi que tous les autres paramètres reçus.
Copié !
1%macro mp_ds2ddl(libds,fref=getddl,flavour=SAS,showlog=YES,schema=
2 ,applydttm=NO
3)/*/STORE SOURCE*/;
4 
5%local libref;
6%let libds=%upcase(&libds);
7%let libref=%scan(&libds,1,.);
8%IF &libref=&libds %THEN %let libds=WORK.&libds;
9 
10%mp_getddl(%scan(&libds,1,.)
11 ,%scan(&libds,2,.)
12 ,fref=&fref
13 ,flavour=SAS
14 ,showlog=&showlog
15 ,schema=&schema
16 ,applydttm=&applydttm
17)
18 
19%mend mp_ds2ddl;
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.
Informations de Copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de