---
title: "Appliquer les modèles de mappage de données"
date: "2015-12-28"
categories: 
  - "data-integration"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
description: Explorez les modèles de mappage de données efficaces grâce à Altova MapForce pour simplifier les tâches de transformation de données. Découvrez des stratégies de correspondance exacte et conditionnelle.
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce

Categories: [data-integration](/blog/fr/category/data-integration.md)
# Appliquer les modèles de mappage de données

Altova MapForce intègre des composants de mappage puissants qui correspondent à des modèles de conception pour les besoins de [transformation de données](https://www.altova.com/fr/mapforce.html). L'analyse préalable d'un défi de mappage de données et le respect de quelques directives simples peuvent révéler des modèles de [mappage de données](https://www.altova.com/fr/mapforce.html) qui permettent de simplifier la création de la conception du mappage et permettent d'obtenir une solution optimale. Le projet "Exemples MapForce" fournit des fichiers de mappage et des ensembles de données d'exemple qui illustrent de nombreux modèles de mappage de données courants. L'examen de ces exemples et leur exécution à l'aide du moteur d'exécution intégré de MapForce constituent une autre excellente façon de vous aider à choisir le modèle le plus adapté à votre propre projet.

![shutterstock_240957604](/blog/images/shutterstock_240957604.jpg)

<!--more-->

**Correspondance exacte vs. correspondance conditionnelle**

Tout d'abord, déterminez si vos entrées et sorties présentent une relation bijective précise, ou si une analyse plus complexe est nécessaire, par exemple en tenant compte de plages de valeurs ou en utilisant une structure conditionnelle de type "si... alors... sinon".

La correspondance exacte vous permet de formuler votre exigence à l'aide d'un simple tableau à deux colonnes. L'algorithme fonctionne ainsi : "recherchez une correspondance exacte de la valeur d'entrée donnée dans la colonne de gauche, et utilisez la valeur correspondante de la colonne de droite." Notez que les éléments de la colonne de gauche doivent tous être uniques, tandis que la colonne de droite peut contenir des valeurs dupliquées.

![Exemple de mappage de données avec les tables de correspondance (value-maps) d'Altova MapForce](https://lh3.ggpht.com/-HD2lZmhuXL0/T9ZpDLpo6nI/AAAAAAAAA0g/NeTxGqno0ao/clip_image0013.png?imgmax=800 "Altova MapForce value-map example")

Voici quelques exemples de correspondances exactes : la conversion des noms de mois en chiffres, ou la transformation des numéros ISBN en titres de livres.

**Options de correspondance exacte**

Si le nombre d'entrées dans le tableau est constant et relativement faible (disons, jusqu'à 20, ou, dans des cas exceptionnels, jusqu'à 200), utilisez un composant de mappage de valeurs. Des exemples typiques sont la conversion de noms de mois en nombres, ou la conversion de codes en d'autres codes (par exemple, "F" en "XX" et "M" en "XY").

Vous pouvez même renommer les noms des colonnes d'entrée et de résultat du composant "value-map". Dans la fenêtre de propriétés du composant "value-map", cliquez simplement deux fois sur le nom "input" ou "result" (ou cliquez sur l'icône en forme de crayon) et commencez à taper. Cela facilite l'identification de la fonction de plusieurs composants "value-map" dans le processus de mappage.

![Propriétés de la cartographie des valeurs dans la correspondance de données](https://lh3.ggpht.com/-stfUPR9mn4E/T9ZpDfwrzrI/AAAAAAAAA0o/94wsYpN9SfA/clip_image0023.png?imgmax=800 "Value-map properties")

L'exemple MapArticle.mfd illustre l'utilisation du composant de mappage de valeurs.

On nous demande parfois pourquoi il n'existe pas de paramètre permettant de transmettre une valeur d'entrée inconnue à la sortie sans la modifier. La réponse est que cela ne fonctionnerait pas si les types de données des entrées et des sorties sont différents, comme dans le cas d'une conversion d'un entier en chaîne de caractères, comme illustré ci-dessus.

La solution consiste à ne pas cocher l'option "Otherwise" (la table de correspondance pour une entrée inconnue renverra alors une séquence vide), et d'utiliser la fonction "substitute-missing" de la bibliothèque de fonctions de base à la sortie, afin de remplacer cette séquence vide par la valeur d'entrée originale.

**Tables de consultation plus importantes**

Pour un grand nombre d'entrées ou des tables de correspondance qui changent fréquemment, une recherche dans une base de données est la meilleure solution. Cela signifie que les valeurs réelles de la table de correspondance ne font pas partie de la transformation, mais sont stockées dans une base de données. Pour mettre en œuvre cette approche, ajoutez un composant de base de données et un composant SQL-WHERE à la transformation. L'exemple DB_PhoneList.mfd illustre cette stratégie.

Si vous ne pouvez pas utiliser une base de données et que le nombre d'entrées n'est pas très important, vous pouvez également utiliser d'autres composants, comme XML ou CSV, ainsi qu'un composant de filtrage, comme on le voit dans l'exemple CompletePO.mfd. Cependant, cette solution peut être plus lente en temps réel que l'utilisation d'une base de données avec une clause WHERE.

Pour certaines exigences, il peut même être nécessaire d'appeler un service web afin de rechercher des valeurs. Les exemples BookISBNConvertWS.mfd et CurrencyConverter.mfd illustrent l'utilisation d'un service web pour la recherche de données.

![Composant MapForce, utilisé comme service web, dans une application de transformation de données](https://lh5.ggpht.com/-2wRWs-erBg0/T9ZpD4K3NiI/AAAAAAAAA0w/WttxTBN75S0/clip_image0033.png?imgmax=800 "MapForce Web service component")

**Correspondance conditionnelle**

Si vous avez besoin de conditions plus complexes que de simples correspondances exactes, comme la vérification de plages de valeurs d'entrée, utilisez le composant "si-sinon", comme illustré dans l'exemple ClassifyTemperatures.mfd.

![Composant conditionnel "si...alors...sinon" de MapForce](https://lh4.ggpht.com/-Djdv-ktABMk/T9ZpEDSp8lI/AAAAAAAAA04/Xp3oHEVGi9E/clip_image0043.png?imgmax=800 "MapForce if-else component")

Les signes plus rouges dans le composant conditionnel (if-else) vous permettent d'ajouter davantage de tests, chacun basé sur une fonction logique différente. Le champ "sinon" (otherwise) vous permet de définir le résultat dans le cas où aucun des tests logiques n'est vrai.

**Correspondances complexes et réutilisation des composants**

Si votre besoin de transformation de données implique plusieurs entrées et sorties, vous pouvez facilement inclure plusieurs tableaux de correspondance de valeurs et des composants conditionnels (type "si...alors...sinon") dans une seule transformation.

Vous pouvez dupliquer n'importe quel des composants décrits ci-dessus en utilisant la fonction de copier-coller, soit au sein d'un même projet, soit entre différents fichiers de configuration. Vous pouvez également réutiliser n'importe laquelle des solutions présentées en les intégrant dans une fonction définie par l'utilisateur. Vous pouvez enregistrer vos propres fonctions dans une bibliothèque de fonctions personnalisées pour les utiliser ultérieurement dans d'autres projets, ou pour les partager avec vos collègues.

**Découvrez par vous-même à quel point il est facile d'appliquer les modèles de mappage de données de MapForce dans vos propres projets de transformation de données !** [Téléchargez une version d'essai gratuite de 30 jours](https://www.altova.com/fr/download/mapforce/data_mapping_enterprise.html) **de MapForce.**
