Les nouveautés de ODI 12C (12c, comme la base de données) offre de grands changements par rapport aux versions précédentes.
Passons rapidement sur le fait que ODI 12c intègre beaucoup mieux GoldenGate et permet de mieux gérer les problématiques de Change Data Capture ce qui nous emmène à proximité du rêve des alimentations « presque » en temps réel.
ODI 12 et WareHouse Builder
Le sujet est plutôt l’intégration dans ODI des fonctionnalités d’Oracle WareHouseBuilder.
Tout d’abord, la migration entre de WareHouseBuilder vers ODI 12c est simple. De plus ODI 12C apporte beaucoup de souplesse en terme de développement, notamment grâce aux nouveaux composants accessibles depuis les mappings (anciennement Interfaces).
Cela sera l’objet de notre billet, nous allons détailler quelques uns de ces composants.
Les nouveaux composants ODI 12
Grâce à la V12c nous allons pouvoir alimenter N cibles à partir de N sources. Ceci va grandement faciliter la vie des développeurs mais aussi diminuer le nombre d’interfaces. Au fait, pourquoi parlons-nous encore d’interfaces ? En effet, les interfaces ODI 12C ont changées de nom pour devenir « Mappings ».
Partons d’un exemple simple, j’ai à disposition 1 table TIERS qui contient des données issues de FOURNISSEUR, CLIENT et CLIENT_INTERNE. Mes chers amis du contrôle de gestion souhaitent avoir non pas une mais trois tables bien distinctes, à savoir FOURNISSEUR, CLIENT et CLIENT_INTERNE.
Dans les versions précédentes, j’aurais tout simplement fait trois interfaces ODI pour répondre à la problématique et ainsi, j’aurai lu 3 fois ma table source.
Et bien c’est terminé grâce à ODI V12c… Voyons comment s’y prendre dans les faits :
Je créé mon nouveau mapping, via un clic droit :
Comme d’habitude, je donne un nom à mon mapping et surtout je n’oublie pas la petite description qui va bien.
Je fais un « drag & drop » de ma table source tiers dans la partie « Default »
Afin de décomposer mon alimentation en 3, je vais utiliser un nouveau composant de la V12c, le « Fractionnement » ou « Split »
Je le lie à ma table source
Reste à déplacer mes 3 cibles dans mon espace de travail, toujours par « Drag&Drop »
On clique sur l’objet Split pour le configurer et on clique sur l’onglet « Ouput Connectors Points » :
On renomme les Outputs comme désiré et on renseigne les conditions via l’éditeur
Reste à choisir le chemin emprunté par chacun des cas :
Et voilà, c’est terminé. Une interface pour alimenter 3 cibles !
Les nouveautés ODI 12 : le Sort
Dans les nouveautés de ODI 12c, un nouveau composant est particulièrement apprécié notamment lorsque l’on veut alimenter un fichier plat de façon ordonné, c’est le composant « Tri » ou « Sort ».
Il va nous permettre de choisir l’ordre de tri de notre flux. Fini donc la modification des modules de connaissances (KM) et l’utilisation des UDx pour gérer cette problématique.
Dans les faits, il suffit de déplacer notre composant de glisser les éléments à trier. Le bonheur est parfois simple.
Les nouveautés ODI 12 : le composant Agregat
Pour nos agrégations (somme, moyenne, etc…), nous utiliserons le composant « Agregat »
Il suffit ensuite de spécifier les champs à agréger
Les nouveautés ODI 12 : le composant Distinct
Un point négatif cependant dans cette version, c’est le composant « Distinct ».
Dans les versions précédentes de ODI, un simple clic sur une case à cocher au niveau du choix de l’IKM ODI nous permettait de faire un distinct.
Désormais, il faut intégrer le composant au flux ODI 12 et déplacer dedans tous les éléments qui vont être à utiliser. Une pure perte de temps.
Les nouveautés ODI 12 : le composant Expression
Le composant « Expression » va nous permettre de spécifier du code directement.
Les nouveautés ODI 12 : le composant Unpivot
Un composant qui manquait depuis des années à ODI est le composant UNPIVOT ou permutation de colonnes en lignes
Imaginons que nous ayons une table composée d’un champ année et de 4 champs représentant le chiffre d’affaires par trimestre. Nous souhaiterions avoir en fait une structure plus simple qui consisterait à avoir un champ ANNEE, un champ TRIMESTRE et un champ CA.
Dans ce cas, l’utilisation du UNPIVOT va être très utile.
Voyons cela dans le détail : Je positionne ma table source et ma table cible dans l’espace de travail. J’y ajoute notre composant UNPIVOT.
Je glisse et déplace le champ année dans le composant UNPIVOT
Et je clique ensuite sur « Attributs » et j’ajoute les attributs « TRIMESTRE » et « CA »
Je retourne sur général et choisit le pointeur de ligne « TRIMESTRE »
Je passe ensuite sur « Transformation de permutation colonnes vers lignes » et je renseigne les valeurs pour chaque trimestre et le CA associé à chaque.
Je finis par le mapping vers ma table finale et c’est terminé.
Ma table de départ qui contenait :
M’a permis d’alimenter ma table cible :
Les nouveautés ODI 12 : le composant Pivot
Evidemment nous pouvons faire l’inverse grâce au composant PIVOT qui va nous permettre de permuter les lignes vers les colonnes
Vous cherchez des consultants pour vous accompagner dans une migration ODI 10 vers ODI12, dans une migration ODI 11 vers ODI 12 voire même Sunopsis vers ODI12, Contactez-nous !