Altova MapForce 2023 Enterprise Edition

Cuando quiera transformar datos de una base de datos, primero puede ser necesario quitar ciertos caracteres especiales (como los caracteres de retorno de carro o de salto de línea) de la fuente de datos. Esto se puede hacer con la función char-from-code de MapForce.

 

Imagine que tiene una base de datos SQLite compuesta por una tabla llamada "Lines" que tiene dos columnas: "ID" y "Description".

mf_db_specialchars_01

 

El objetivo es extraer cada descripción a un archivo CSV (donde hay una descripción por línea). La asignación de datos que necesitamos para conseguir este objetivo es:

mf_db_specialchars_02

 

Sin embargo, como cada fila "Description" de Access contiene varias líneas separadas por caracteres CR/LF, el resultado de la asignación incluye también saltos de línea y este no es el resultado que queremos.

mf_db_specialchars_03

 

Para resolver este problema añadiremos las funciones char-from-code y replace de la biblioteca de MapForce (véase Agregar una función). Cada descripción debe procesarse de modo que, cuando se detecten caracteres especiales, éstos se reemplazarán con un espacio.

 

En el gráfico Unicode (http://www.unicode.org/charts/), los caracteres LF y CR corresponden a los caracteres hex 0A | dec 10 y hex 0D | dec 13 respectivamente. Por tanto, la asignación debe modificarse para convertir los valores Unicode decimales 13 y 10 en una cadena para que la función replace los pueda procesar.

mf_db_specialchars_04

 

En la vista previa de resultados de esta asignación podemos ver que los caracteres CR/LF de cada campo de la base de datos se reemplazaron con un espacio.

mf_db_specialchars_05

© 2017-2023 Altova GmbH