---
title: "Instruction \"switch\" par rapport à une table de correspondance dans MapForce"
date: "2011-05-17"
categories: 
  - "data-integration"
tags: 
  - "altova"
  - "blog"
  - "data-integration"
  - "data-mapping"
  - "legacy-data"
  - "mapforce"
  - "software-tools"
description: Cet article compare l'utilisation des instructions conditionnelles (switch) et des tables de correspondance dans Altova MapForce, en soulignant les situations dans lesquelles il est préférable d'utiliser l'une ou l'autre pour des solutions de mappage de données efficaces.
---
Status: #blog

Tags:  #altova #blog #data-integration #data-mapping #legacy-data #mapforce #software-tools

Categories: [data-integration](/blog/fr/category/data-integration.md)
# Instruction "switch" par rapport à une table de correspondance dans MapForce

L'un des aspects les plus intéressants du travail avec des développeurs de logiciels, c'est que non seulement vous avez la possibilité de créer de nouvelles choses qui n'ont jamais existé auparavant, mais vous pouvez également observer le fonctionnement de l'esprit des autres lorsqu'ils découvrent des solutions alternatives à un défi de conception. Nous avons reçu un commentaire d'un développeur de logiciels concernant notre récent article intitulé "[L'instruction conditionnelle étendue fonctionne comme une instruction switch dans MapForce](https://www.altova.com/blog/2011/04/expandable-if-else-works-like-switch.html)", et ce commentaire portait sur l'un des exemples que nous avons utilisés. Le lecteur suggère que notre deuxième exemple illustrait un problème qui serait résolu de manière plus élégante dans [Altova MapForce](https://www.altova.com/fr/mapforce.html) en utilisant une "Value-Map" plutôt qu'avec notre instruction conditionnelle étendue. Voici l'exemple original qui recevait le nom du mois sous forme de chaîne de caractères et qui nécessitait la génération du nombre correspondant :

[![Exemple étendu de la structure conditionnelle "si...alors...sinon" dans MapForce](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10Xf41UHI/AAAAAAAAAYc/8PxVPCcIyA4/originalExample_thumb%5B2%5D.png?imgmax=800 "If-Else in MapForce")](http://lh3.ggpht.com/_REdrfeVqYdU/Tc10W9gCFsI/AAAAAAAAAYY/awJZUbwdlQc/s1600-h/originalExample%5B4%5D.png) 

Dans MapForce, une "Value-Map" (carte de valeurs) est une solution alternative qui fonctionne comme une table de correspondance, tandis qu'une structure "If-Else étendue" se comporte comme une instruction "switch". Voici à quoi ressemblerait notre transformation avec une "Value-Map" à la place de la structure "If-Else étendue" : 

[![Alternative à la fonction "Value-Map" dans MapForce ](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10X_1DapI/AAAAAAAAAYk/mj6Zql6R4qw/valueMap_thumb%5B2%5D.png?imgmax=800 "Value-Map in MapForce ")](http://lh6.ggpht.com/_REdrfeVqYdU/Tc10Xn36yzI/AAAAAAAAAYg/AQFsPDaUUHE/s1600-h/valueMap%5B4%5D.png) 

Oui, c'est bien ça. Plutôt que de copier, coller et modifier des ensembles d'éléments, comme nous l'avons fait pour notre version originale de la structure conditionnelle "Si-Sinon", une "Table de correspondance" (Value-Map) nous permet de créer facilement la totalité de la table de consultation directement dans sa fenêtre de propriétés : 

[![Dialogue des propriétés de la carte de valeurs dans MapForce](https://lh4.ggpht.com/_REdrfeVqYdU/Tc10YezxYsI/AAAAAAAAAYs/Z1F3erUvweo/valueMapProperties_thumb%5B2%5D.png?imgmax=800 "Value-Map Properties in MapForce")](http://lh6.ggpht.com/_REdrfeVqYdU/Tc10YOTQBuI/AAAAAAAAAYo/zahnOsDlnrA/s1600-h/valueMapProperties%5B4%5D.png) 

Nous partageons le point de vue de l'auteur : Value-Map est effectivement plus adapté au problème que nous avons choisi, car il est beaucoup plus rapide et plus simple à mettre en œuvre ! Le tableau des propriétés de la carte de valeurs est également plus concis et plus facile à interpréter dans MapForce[Documentation générée pour la cartographie](https://www.altova.com/fr/mapforce/mapping-documentation.html) que notre structure originale "si-alors-sinon" étendue. Bien sûr, vous ne pouvez pas _toujours_ Remplacer une instruction conditionnelle étendue (if-else) par une table de correspondance de valeurs. Les données qui entrent dans le système Value-Map doivent _égal(e)_ Alors qu'une seule valeur dans le tableau d'entrée permet de générer une sortie spécifique, la fonction "Si-Alors-Sinon" étendue vous permet de définir une série de conditions avec différents tests logiques. Parfois, la nature précise d'un projet de conversion de données rend nécessaire une évaluation pour déterminer s'il est préférable d'utiliser un élément de commutation ou une table de correspondance. Supposons que votre projet reçoive en entrée un nombre représentant une longueur d'onde du spectre électromagnétique, et que vous souhaitiez traiter séparément les rayons ultraviolets, les couleurs visibles et l'énergie infrarouge. Dans ce cas, nous pourrions utiliser une structure conditionnelle "si-sinon" étendue pour tester des plages de valeurs d'entrée. La section "Si-Sinon" étendue du mappage pourrait ressembler à ceci : 

[![Cartographie étendue des instructions conditionnelles (si/alors) dans Altova MapForce](https://lh5.ggpht.com/_REdrfeVqYdU/Tc10ZKz3yfI/AAAAAAAAAY0/490MeBeYGQc/visibleLight2_thumb%5B2%5D.png?imgmax=800 "Expanded If-Else in MapForce")](http://lh3.ggpht.com/_REdrfeVqYdU/Tc10Yt3rsnI/AAAAAAAAAYw/qXuhyxpsMqY/s1600-h/visibleLight2%5B4%5D.png) 

Si l'entrée est un nombre entier, vous pourriez également créer une solution en utilisant Value-Map, mais vous auriez besoin de créer une table de correspondance très volumineuse. De plus, que se passe-t-il par la suite si les exigences du projet changent et que l'entrée devient un nombre décimal, ou si vous devez filtrer chaque couleur visible séparément par son nom ? En résumé, [Altova MapForce](https://www.altova.com/fr/mapforce.html) est une représentation graphique très intéressante d'une boîte à outils complète pour les langages de programmation, qui vous protège des détails de la syntaxe des langages de programmation, et qui offre une riche collection de composants que vous pouvez assembler de manière créative pour résoudre vos propres problèmes de mappage, de conversion et d'intégration de données. 

**Découvrez par vous-même à quel point il est facile d'utiliser MapForce pour 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.**
