Gestion de données imbriquées — XML File to Dimension Table
Dans ce tutoriel, découvrez comment concevoir un job de type batch permettant d’extraire des données à partir d’un fichier XML hiérarchique , les transformer puis les charger dans une table MS SQL SERVER 2012.
- Prérequis : Accès à une base de données de type MS SQL SERVER 2012 ou autre,
- Un fichier XML contenant les données brutes
- Version: SAP Data Services 4.2
- Application: Data Services Designer

Les étapes qui constituent ce tutoriel sont :
- Ajout du « MtrlDim » job, work et dataflows
- Importation d’une DTD (schéma de définition d’un format XML)
- Définition du flux de données « DF_MtrlDim »
- Validation du flux de données
- Exécution du job
Ajout des composants « Work » et « Data » flows dans le espace de conception du Job
Procédure
- Créer un nouveau Job intitulé « JOB_MtrlDim »
Dans la zone de projet, faites un clic droit puis « Nouveau job batch »

- Création d’un « workFlow »
Dans la zone de projet, cliquez sur le job créé.
Sélectionnez l’icône « Workflow » dans la palette d’outils.
Placez le «workflow » dans l’espace de travail du job et nommé le « WF_MtrlDim».

- Ajout d’un dataflow « DF_MtrlDim »
Cliquez sur le workflow « WF_MtrlDim pour accéder à l’espace de conception du dataflow
Ajouter le dataflow « DF_MtrlDim » dans workflow précédemment créé.

Importer la DTD (Document Type Definition)
Contexte : Import de la DTD « mtrl.dtd » tel que indiqué dans la procédure ci-dessous
Procédure
- Dans la bibliothèque locale des objets, allez dans l’onglet « Formats »
- Faites un clic droit sur « Schémas imbriqués » puis Nouveau DTD

- Une pop-pop s’affiche demandant de renseigner le « Nom de la définition DTD »

- Pour le « Nom du fichier », cliquez sur « Parcourir… » et sélectionnez le fichier « mtrl.dtd » se trouvant à l’emplacement suivant « REP_INSTALL_DATASERVICE Data ServicesTutorial Files »
- Pour le type de fichier, garder la valeur sélectionnée par défaut « DTD »
- Dans la liste « Nom de l’élément racine », sélectionnez « MTRL_MASTER_LIST »
- Cliquez sur « OK ».

Définition du dataflow « DF_MtrlDim »
Pour construire le flux de données nous avons besoin des objets suivants :
- Le fichier source XML
- Une transformation « Query » qui définit le mappage entre la source et la cible
- La table cible qui va recevoir les données
- Ajouter les objets dans le flux de données
- Cliquez sur l’icône
pour arriver dans l’espace de définition du flux
- Dans la bibliothèque locale d’objets, sous l’onglet formats, cliquer sur le petit plus des « Schémas imbriqués » pour voir les DTDs disponibles
- Glissez le fichier « Mtrl_List » dans l’espace de travail du « DF_MtrlDim » et déposez-le en tant que source de données

- Faites un double clic sur le fichier « Mtrl_List » pour le configurer.
- Dans l’onglet « Source » du fichier XML, cliquez « Select file » et sélectionnez le fichier « mtrl.xml » dans l’emplacement suivant « Data ServicesTutorial Filesmtrl.xml »
- Cochez la case « Activer la validation » puis « fermer »
- Dans la palette glissez et déposez une transformation « Query » à droit du fichier « mtrl.xml ».

- Dans la bibliothèque locale d’objets, dans l’onglet « Banque de données », glissez et déposez la table « MTRL_DIM » du dataStore « MSSQL_INSTTANCE » à droit de la transformation « Query » et cliquez « Créer la cible ».

- Connectez les objets comme indiqué dans la figure ci-dessous

- Configuration de la transformation « Query »
- Cliquez sur « Query » pour ouvrir l’éditeur de la transformation
- Essayer de glisser une colonne individuelle dans le schéma de sortie, vous allez remarquer que nous ne pouvons pas mapper une colonne imbriqué à une colonne plate, donc l’objectif est d’aplatir le schéma d’entrée afin de l’adapter au format cible.
- Remarquez aussi que les noms des colonnes entre la source et la cible sont différents, utilisez la barre de défilement si nécessaire pour afficher les types de données.
Procédure
- Depuis le «Entrée de schéma » glissez le schéma « MTRL_Master » dans « Sortie de schéma » ou faites un clic droit « Mapper vers la sortie »

- Dans la zone projet, cliquez sur la « Query » pour lancer l’éditeur de mappage. Vous constatez que la structure de la source contient plus d’informations que la structure cible.

- Dans la « Sortie de schéma » faites un clic droit sur les colonnes inutiles puis « Supprimer »

- Dans « Sortie de schéma », renommer la colonne « SHORT_TEXT » en « DESC » pour avoir le même nom de colonne entre la source et la cible.


- Dans la zone projet, cliquez sur la table cible « MTRL_DIM » pour voir si la structure cible correspond à la structure cible. Normalement les structures ne sont pas identiques comme indiqué dans la figure ci-dessous

- L’étape suivante consiste à aplatir la structure du fichier XML dans la transformation pour le faire correspondre à la structure cible.
Cliquez sur « Query » pour lancer l’éditeur de transformation, puis dans « Sortie de schéma » sous le nœud « TEXT » faite un clic droit puis « Supprimer l’imbrication avec sous-schémas »

Faites la même manipulation dans le nœud parent « MTRL_LIST »
- Maintenant si vous éditez le schéma de sortie en cliquant sur « MTRL_DIM » vous allez constater que deux schémas correspondent.

- Depuis le menu « Projet » cliquez « Enregistrer tout »
- Exécuter le job
Laisser un commentaire
Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !