Description des transformations SAP Data Services Integrator

Objective

After completing this lesson, you will be able to décrire les transformations d'intégrateur Data Services

Transformations Data Services Integrator

Les transformations Data Services Integrator sont utilisées pour améliorer vos projets d'intégration de données au-delà des fonctionnalités principales des transformations de plateforme. Dans vos projets, vous rencontrez des données XML avec des nœuds répétés, des données de hiérarchie ou des sources de données où il y a trop de zones ou pas assez de zones. Vous constatez que les transformations de plateforme n'offrent pas suffisamment de flexibilité et que vous vous tournez donc vers les transformations spécifiques à Data Services Integration pour obtenir de l'aide.

Les transformations Data Services Integrator effectuent des opérations clés sur les jeux de données pour manipuler leur structure au fur et à mesure qu'elles sont transmises de la source à la cible.

Outre Table_Comparison, History_Preserving et Key_Generation, vous pouvez trouver les transformations suivantes :

Autres transformations Data Services Integrator

Ces transformations sont disponibles dans la branche Data Integrator de l'onglet Transformations de la bibliothèque d'objets locale :

TransformationDescription
Transfert de donnéesPermet à un flux de données de fractionner son traitement en deux flux de sous-données et de pousser vers le bas les opérations consommatrices de ressources vers le serveur de base de données.
Génération de dateGénère une colonne renseignée avec des valeurs de date en fonction des dates de début et de fin et de l'incrément que vous indiquez.
Date d'entrée en vigueurGénère une colonne de fin de validité supplémentaire en fonction de la date de validité de la clé primaire.
Mise à plat de la hiérarchieAplatit les données hiérarchiques dans des tables relationnelles afin qu'elles puissent participer à un schéma en étoile. La mise à plat de la hiérarchie peut être à la fois verticale et horizontale.
Mapper opération CDMTrie les données d'entrée, mappe les données de sortie et résout les versions avant et après pour les lignes UPDATE. Bien qu'elle soit couramment utilisée pour prendre en charge la capture des données modifiées d'Oracle ou de l'ordinateur central, cette transformation prend en charge tous les flux de données si ses conditions d'entrée sont remplies.
PivotFait pivoter les valeurs des colonnes spécifiées en lignes.
Inverser le tableau croisé dynamiqueFait pivoter les valeurs des lignes spécifiées en colonnes.
Pipeline XMLTraite les entrées XML volumineuses en petits lots.

Décrivons les cas d'utilisation de certains d'entre eux.

Transformation de la génération de date

Utilisez la transformation Date_Generation pour produire les valeurs clés pour une cible de dimension temporelle, comme illustré dans la figure. À partir de cette séquence générée, renseignez d'autres zones dans la dimension de temps (telles que day_of_week) à l'aide de fonctions dans une requête.

Exemple : pour créer une cible de dimension temporelle avec des dates allant du début de l'année 1997 à la fin de l'année 2000, placez une transformation Date_Generation, une requête et une cible dans un flux de données. Connectez la sortie de la transformation Date_Generation à la requête et la sortie de la requête à la cible.

Options de transformation Date_Generation

Dans la transformation Date_Generation, spécifiez les options suivantes :

  • Date de début : 01/01/1997 (une variable peut également être utilisée.)
  • Date de fin : 31/12/2000 (une variable peut également être utilisée.)
  • Incrément : quotidien (une variable peut également être utilisée.)

Calcul des valeurs de dimension Période

Dans la requête, vous pouvez créer des colonnes cible et définir un mappage pour différentes valeurs de dimension Période. Voici quelques exemples de fonctions que vous pouvez utiliser :

  • Fonction julian : pour créer un ID de date unique.

    Il s'agit du nombre de jours entre le début du calendrier julien et la date donnée.

  • mois : pour extraire le numéro du mois (1 à 12) à partir de la date donnée.
  • Trimestre : pour extraire le numéro de trimestre (1 à 4) de la date donnée.
  • Fonction to_char : pour extraire une partie de la date donnée au format de chaîne.
  • Fonction day_in_week : pour extraire le numéro du jour (1 à 7) de la semaine à partir de la date donnée.
  • Fonction isweekend : pour éditer une valeur booléenne (1 ou 0) pour savoir si la date donnée est un week-end ou non.

Essayons-le

Laissez-moi vous guider tout au long de la création d'une dimension de temps :

Transformation de la date de validité

Avec la transformation Effective_Date, comme illustré dans la figure, une valeur de fin de validité est calculée pour les données contenant une date de validité. La date de fin de validité calculée et une date de validité existante génèrent une plage de dates qui permet aux requêtes basées sur les dates de validité de produire des résultats significatifs.

Transformation Map CDC Operation

Bien qu'elle soit couramment utilisée pour prendre en charge la capture des données modifiées (CDM) relationnelle ou centrale, la transformation Map_CDC_Operation prend en charge n'importe quel flux de données tant que ses conditions d'entrée sont remplies. Les sources CDM relationnelles incluent Oracle et SQL Server. Cette transformation est généralement le dernier objet avant la cible dans un flux de données car elle produit des codes d'opération INPUT, UPDATE et DELETE. Data Services génère un avertissement lorsque d'autres objets sont utilisés.

Comme le montre la figure, la transformation Map_CDC_Operation utilise des exigences d'entrée (valeurs pour la colonne Séquencement et une colonne Opération de ligne) pour exécuter trois fonctions.

  1. Triez les données d'entrée en fonction des valeurs dans la zone Colonne de séquencement et (facultativement) dans la zone Colonne de regroupement supplémentaire.
  2. Mappez les données de sortie en fonction des valeurs de la zone de colonne Opération de ligne. Les lignes de la table source sont mappées aux opérations INSERT, UPDATE ou DELETE avant de les transmettre à la cible.
  3. Résoudre les pré-images et post-images manquantes, séparées ou multiples pour les lignes UPDATE.

Nous allons examiner plus en détail les transformations Pivot et Data_Transfer dans les prochains cours.