Publié le :
ETL MIXTE

Exemple de programmes de chargement en masse

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par l'affectation d'une libname SAS© (`mybulk`) à une source de données externe (potentiellement SQL Server via ODBC), avec l'option de chargement en masse activée (`bcp=yes`). Il supprime ensuite une table existante (`DUBLKTAB`) dans cette source de données pour assurer un état propre. Un dataset SAS© temporaire (`work.DUBLKDAT`) est créé en mémoire à partir de données littérales (`datalines`). Ce dataset est ensuite utilisé pour peupler la table `DUBLKTAB` dans la base de données externe, réalisant ainsi l'opération de chargement en masse. Enfin, le script utilise `PROC PRINT` pour afficher le contenu de la table `DUBLKTAB` de la base de données externe, formatant une colonne de date pour une meilleure lisibilité.
Analyse des données

Type : MIXTE


Les données initiales sont créées en interne via un DATA STEP avec des `datalines` (`work.DUBLKDAT`). Elles sont ensuite transférées vers une table de base de données externe (`mybulk.DUBLKTAB`) via ODBC.

1 Bloc de code
LIBNAME Statement
Explication :
Assigne une libname SAS nommée `mybulk` à une source de données externe. Les macro-variables `&dbms` et `&connopt` devraient contenir les informations de connexion spécifiques à la base de données (probablement ODBC). L'option `bcp=yes` active le protocole de copie en masse, généralement utilisé avec SQL Server, pour des transferts de données optimisés.
Copié !
1LIBNAME mybulk &dbms &connopt bcp=yes;
2 Bloc de code
PROC DELETE
Explication :
Supprime la table `DUBLKTAB` de la source de données externe (identifiée par la libname `mybulk`). Cela garantit que toute exécution précédente ne laisse pas de résidus, permettant une recréation propre de la table.
Copié !
1PROC DELETE DATA=mybulk.DUBLKTAB;
2RUN;
3 Bloc de code
DATA STEP Data
Explication :
Crée un dataset SAS temporaire nommé `work.DUBLKDAT`. Les données sont définies en ligne à l'aide de l'instruction `cards;`. Ce dataset contient quatre variables : `name` (caractère), `age` (numérique), `sex` (caractère) et `bdate` (date au format MMDDYY).
Copié !
1DATA work.DUBLKDAT;
2 INPUT name $ age sex $ bdate mmddyy.;
3 CARDS;
4amy 3 f 030185
5bill 12 m 121277
6charlie 35 m 010253
7david 19 m 101469
8elinor 42 f 080845
9pearl 78 f 051222
10vera 96 f 101200
11frank 24 m 092663
12georgia 1 f 040687
13henry 46 m 053042
14joann 27 f 020461
15buddy 66 m 101432
16;
17RUN;
4 Bloc de code
DATA STEP Data
Explication :
Ce DATA STEP lit le dataset `work.DUBLKDAT` et écrit ses enregistrements dans une nouvelle table de base de données nommée `DUBLKTAB` sous la libname `mybulk`. C'est l'étape où le chargement en masse des données vers la base de données externe s'effectue.
Copié !
1DATA mybulk.DUBLKTAB;
2 SET work.DUBLKDAT;
3RUN;
5 Bloc de code
PROC PRINT
Explication :
Affiche le contenu de la table `DUBLKTAB` de la base de données externe. L'instruction `format bdate date7.;` est utilisée pour afficher la variable `bdate` dans un format de date lisible (JJMMMAA). Le titre 'proc print of table' est ajouté à la sortie.
Copié !
1PROC PRINT DATA=mybulk.DUBLKTAB;
2 FORMAT bdate date7.;
3title 'proc print of table';
4RUN;
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 : S A S S A M P L E L I B R A R Y