---
title: "Aplicación de patrones de mapeo de datos"
date: "2015-12-28"
categories: 
  - "data-integration"
tags: 
  - "data-integration"
  - "data-mapping"
  - "mapforce"
description: Explore patrones efectivos de mapeo de datos utilizando Altova MapForce para simplificar las tareas de transformación de datos. Descubra estrategias para la coincidencia exacta y condicional.
---
Status: #blog

Tags:  #data-integration #data-mapping #mapforce

Categories: [data-integration](/blog/es/category/data-integration.md)
# Aplicación de patrones de mapeo de datos

Altova MapForce incluye componentes de mapeo potentes que se corresponden con patrones de diseño para los requisitos de [transformación de datos](https://www.altova.com/es/mapforce.html). Analizar un desafío de mapeo de datos desde el principio y seguir unas pocas pautas sencillas puede revelar patrones de [mapeo de datos](https://www.altova.com/es/mapforce.html) que ayudan a simplificar la creación del diseño de mapeo y conducen a una solución óptima. El proyecto "Ejemplos de MapForce" proporciona archivos de mapeo de muestra y conjuntos de datos que ilustran muchos patrones comunes de mapeo de datos. Revisar estos ejemplos y ejecutarlos con el motor de ejecución integrado de MapForce es otra buena manera de ayudar a seleccionar el mejor patrón para su propio proyecto.

![shutterstock_240957604](/blog/images/shutterstock_240957604.jpg)

<!--more-->

**Correspondencia exacta frente a correspondencia condicional**

Primero, determine si sus entradas y salidas tienen una relación directa y precisa, o si es necesario analizar una condición más compleja, como rangos "de...a..." o una estructura condicional "si...entonces...".

La función de "coincidencia exacta" le permite expresar sus requisitos mediante una sencilla tabla de dos columnas, y el algoritmo funciona de la siguiente manera: "busca una coincidencia exacta del valor de entrada proporcionado en la columna de la izquierda y utiliza el valor correspondiente de la columna de la derecha". Tenga en cuenta que los elementos de la columna de la izquierda deben ser todos únicos, mientras que puede haber valores duplicados en la columna de la derecha.

![Ejemplo de mapeo de datos con mapas de valores en Altova MapForce](https://lh3.ggpht.com/-HD2lZmhuXL0/T9ZpDLpo6nI/AAAAAAAAA0g/NeTxGqno0ao/clip_image0013.png?imgmax=800 "Altova MapForce value-map example")

Ejemplos de coincidencias exactas incluyen la conversión de nombres de meses a números, o la transformación de números ISBN en títulos de libros.

**Opciones de coincidencia exacta**

Si el número de entradas en la tabla es constante y relativamente pequeño (por ejemplo, hasta 20, o en casos excepcionales, hasta 200), utilice un componente de "mapa de valores". Ejemplos típicos son la conversión de nombres de meses a números, o la conversión de códigos a otros códigos (por ejemplo, "F" a "XX" y "M" a "XY").

Puede incluso cambiar el nombre de las columnas de entrada y resultado del componente "value-map". En el cuadro de diálogo de propiedades del componente "value-map", simplemente haga doble clic en el nombre "input" o "result" (o haga clic en el icono del lápiz) y comience a escribir. Esto facilita la identificación del propósito de múltiples componentes "value-map" en el mapeo.

![Propiedades del mapa de valores en el mapeo de datos](https://lh3.ggpht.com/-stfUPR9mn4E/T9ZpDfwrzrI/AAAAAAAAA0o/94wsYpN9SfA/clip_image0023.png?imgmax=800 "Value-map properties")

El ejemplo MapArticle.mfd muestra el uso del componente "value-map".

A veces nos preguntan por qué no existe una opción para pasar un valor de entrada desconocido al resultado sin modificarlo. La respuesta es que esto no funcionaría si los tipos de datos en la entrada y la salida son diferentes, como en el caso de la conversión de un número entero a una cadena de texto, como se muestra anteriormente.

La solución consiste en dejar la opción "Otherwise" sin marcar (de esta manera, la función de mapeo de valores para una entrada desconocida devolverá una secuencia vacía) y utilizar la función "substitute-missing" de la biblioteca de funciones principales en la salida para reemplazar la secuencia vacía con el valor de entrada original.

**Tablas de consulta más grandes**

Para un gran número de entradas o tablas de consulta que cambian con frecuencia, la mejor solución es utilizar una consulta a una base de datos. Esto significa que los valores reales de la tabla de consulta no forman parte del mapeo, sino que se almacenan en una base de datos. Para implementar este enfoque, agregue un componente de base de datos y un componente SQL-WHERE al mapeo. El ejemplo DB_PhoneList.mfd ilustra esta estrategia.

Si no puede utilizar una base de datos y el número de entradas no es muy grande, también puede utilizar cualquier otro componente en su lugar, por ejemplo, XML o CSV, junto con un componente de filtro, como se muestra dos veces en el ejemplo CompletePO.mfd. Sin embargo, esta solución puede ser más lenta en tiempo de ejecución que utilizar una base de datos con la cláusula WHERE.

Para algunos requisitos, es posible que incluso desee llamar a un servicio web para buscar valores. Los ejemplos BookISBNConvertWS.mfd y CurrencyConverter.mfd ilustran el uso de un servicio web para la búsqueda de información.

![Componente de servicio web MapForce en un proceso de mapeo de datos](https://lh5.ggpht.com/-2wRWs-erBg0/T9ZpD4K3NiI/AAAAAAAAA0w/WttxTBN75S0/clip_image0033.png?imgmax=800 "MapForce Web service component")

**Emparejamiento condicional**

Si necesita condiciones más complejas que la coincidencia exacta, como verificar rangos de valores de entrada, utilice el componente "si-entonces-sino", como se muestra en el ejemplo "ClassifyTemperatures.mfd".

![Componente "si-entonces" de MapForce](https://lh4.ggpht.com/-Djdv-ktABMk/T9ZpEDSp8lI/AAAAAAAAA04/Xp3oHEVGi9E/clip_image0043.png?imgmax=800 "MapForce if-else component")

Los signos más rojos en el componente "si-entonces" le permiten añadir más pruebas, cada una basada en una función lógica diferente. El campo "de lo contrario" le permite definir el resultado en el caso de que ninguna de las pruebas lógicas sea verdadera.

**Mapeos complejos y reutilización de componentes**

Si su necesidad de transformación de datos implica múltiples entradas y salidas, puede incluir fácilmente múltiples tablas de correspondencia y componentes de tipo "si...entonces" en una sola transformación.

Puede duplicar cualquiera de los componentes descritos anteriormente utilizando la función de copiar y pegar, ya sea dentro del mismo diseño o entre diferentes archivos de configuración. También puede reutilizar cualquiera de las soluciones descritas aquí, encapsulándolas en una función definida por el usuario. Puede guardar sus propias funciones en una biblioteca de funciones personalizadas para aplicarlas posteriormente en otros proyectos o compartirlas con sus colegas.

**Descubre por ti mismo lo fácil que es aplicar los patrones de mapeo de datos de MapForce en tus propios proyectos de transformación de datos.** [Descarga una versión de prueba gratuita de 30 días](https://www.altova.com/es/download/mapforce/data_mapping_enterprise.html) **de MapForce.**
