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 :

ODI 12 - Nouveau mapping

Comme d’habitude, je donne un nom à mon mapping et surtout je n’oublie pas la petite description qui va bien.

ODI 12 - mapping

Je fais un « drag & drop » de ma table source tiers dans la partie « Default »

ODI 12 - table source tiers

Afin de décomposer mon alimentation en 3, je vais utiliser un nouveau composant de la V12c, le « Fractionnement » ou « Split »

ODI 12 - Fractionnement

Je le lie à ma table source

ODI 12 - table source

Reste à déplacer mes 3 cibles dans mon espace de travail, toujours par « Drag&Drop »

ODI 12

On clique sur l’objet Split pour le configurer et on clique sur l’onglet « Ouput Connectors Points » :

ODI 12 - Ouput Connectors Points

On renomme les Outputs comme désiré et on renseigne les conditions via l’éditeur

ODI 12 - Ouput Connectors Points

Reste à choisir le chemin emprunté par chacun des cas :

ODI 12

Et voilà, c’est terminé. Une interface pour alimenter 3 cibles !

ODI 12

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.

ODI 12 - tri de flux

Dans les faits, il suffit de déplacer notre composant de glisser les éléments à trier. Le bonheur est parfois simple.

ODI 12 - tri de flux

Les nouveautés ODI 12 : le composant Agregat

Pour nos agrégations (somme, moyenne, etc…), nous utiliserons le composant « Agregat »

ODI 12 - Agregat

Il suffit ensuite de spécifier les champs à agréger

ODI 12 - Agregat

Les nouveautés ODI 12 : le composant Distinct

Un point négatif cependant dans cette version, c’est le composant « Distinct ».

ODI 12 - 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.

ODI 12 - Distinct

Les nouveautés ODI 12 : le composant Expression

Le composant « Expression » va nous permettre de spécifier du code directement.

ODI 12 - Expression

ODI 12 - Expression

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

ODI 12 - Unpivot

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.

ODI 12 - Unpivot

Je glisse et déplace le champ année dans le composant UNPIVOT

ODI 12 - Unpivot

Et je clique ensuite sur « Attributs » et j’ajoute les attributs « TRIMESTRE » et « CA »

ODI 12 - Unpivot

Je retourne sur général et choisit le pointeur de ligne « TRIMESTRE »

ODI 12 - Unpivot

Je passe ensuite sur « Transformation de permutation colonnes vers lignes » et je renseigne les valeurs pour chaque trimestre et le CA associé à chaque.

ODI 12 - Unpivot

Je finis par le mapping vers ma table finale et c’est terminé.

ODI 12 - Unpivot

Ma table de départ qui contenait :

ODI 12 - Unpivot

M’a permis d’alimenter ma table cible :

ODI 12 - Unpivot

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

ODI 12 - Pivot

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 !