Transformer

La etapa Transformer modifica los valores y el formato de los campos. Se puede seleccionar más de una transformación para ejecutar en un mismo campo siempre y cuando los nombres de campo de entrada y salida sean idénticos.

Transformaciones generales

Construir campo
Utiliza valores de campos existentes o valores constantes para reemplazar valores del campo o crear un nuevo campo. Por ejemplo, supongamos que tiene un campo llamado Ciudad y desea agregar la frase “Ciudad de” a los valores en el campo Ciudad. Tendría que crear una plantilla como esta:
City of ${City}

En el campo Para el campo, puede seleccionar el campo Ciudad. Este tiene el efecto de reemplazar valores existentes en el campo Ciudad con un valor construido mediante la plantilla. Por ejemplo, si el valor en el campo Ciudad es Chicago, el nuevo valor sería Ciudad de Chicago.

Algunos caracteres deben estar precedidos de una barra diagonal inversa ("\") a fin de producir una plantilla válida. Por ejemplo, el carácter de comillas simples debe estar precedido de una barra diagonal inversa como esta: \'. Consulte groovy-lang.org/syntax.html para obtener una lista de caracteres que deben completarse con una barra diagonal inversa.

Copiar
Copia el valor de un campo a otro.
Personalizar
Permite definir su propia transformación utilizando el lenguaje Groovy. Para obtener más información, consulteCreación de una transformación personalizada.

Para los usuarios del módulo Location Intelligence, las transformaciones personalizadas pueden acceder a conjuntos de datos espaciales. Consulte la sección Etapas de la Guía de Spectrum Spatial en support.pb.com.

Cambiar nombre
Cambia el nombre de un campo. Puede seleccionar de una lista de nombres de campo que ya existen en el flujo de datos o puede escribir el nombre que desee.
Estado
Cambia el campo Estado a un valor de Sin errores o Con errores. Cuando se lo defina a Con errores, también puede definirse una Descripción y un Código opcionales.

Transformaciones Formato

Mayúsculas y minúsculas
Cambia entre mayúsculas y minúsculas.
Máscara
Aplica o quita caracteres de un campo. Para obtener más información, consulteUso de una transformación Máscara.
Relleno
Agrega caracteres a la izquierda o la derecha del valor del campo.

Transformaciones Cadenas de caracteres

Minimizar espacios en blanco
Elimina los espacios en blanco ubicados a principio y fin de un campo. También reemplaza cualquier secuencia de espacios en blanco (como espacios múltiples o consecutivos) por un solo espacio en blanco.
Quitar subcadena de caracteres
Elimina todas las instancias de determinada cadena de un campo. Por ejemplo, puede eliminar "CA" del campo StateProvince.
Subcadena de caracteres
Copia una secuencia contigua de caracteres de un campo a otro.
Recortar
Elimina caracteres específicos de la izquierda, la derecha o ambos lados de un campo. Tenga en cuenta que esta transformación distingue entre mayúsculas y minúsculas.
Truncar
Quita una cantidad de caracteres específica de los lados izquierdo y derecho de un campo.

Transformaciones de lista

Esta característica lo ayuda a crear una transformación estándar para aplicar en una lista; por ejemplo, una entrada de Read from XML.

Para definir las transformaciones de la lista, realice los siguientes pasos:
  1. Seleccione una operación de transformación de lista. Los campos de entrada se mostrarán en una vista de árbol en el lado derecho.
  2. Seleccione un campo válido del árbol para aplicarle la operación. Las propiedades de la operación se muestran bajo la vista de árbol de los campos de entrada.
  3. Especifique las propiedades de la operación y haga clic en Agregar. La transformación se agrega a la lista en la ventana principal; es decir, la ventana “Opciones de Transformer”.
Crear campo

Permite la creación de un campo en el campo de tipo de lista seleccionado por el usuario. Por ejemplo, si una lista llamada Fútbol tiene dos equipos, específicamente los Tejedores y los Corderos, el usuario puede agregar un nuevo equipo llamado los Aceros y la lista tendrá tres equipos.

Ordenar

Permite clasificar los valores del campo seleccionado. En una lista compleja, el usuario debe especificar el elemento clave para realizar la clasificación; por otra parte, en el caso de una lista simple, esta se realiza en los elementos de la lista. El usuario puede seleccionar el orden de clasificación, como ascendente o descendente. Si regresamos al ejemplo del Fútbol, cuando la lista tiene tres equipos, el usuario debe seleccionar el campo “nombre” de “equipo” para ordenar los equipos por nombre. Entonces, se mostrarán las entradas actuales de la lista de equipos como Aceros, Corderos y Tejedores si el orden de clasificación es ascendente, y viceversa si es descendente. Ahora, si el usuario quiere ordenar la lista de jugadores, debe seleccionar el campo “jugador” y utilizar su orden de clasificación definido

Suma

Permite sumar todos los valores del campo seleccionado. El resultado se almacena en el campo que especifique el usuario. Por ejemplo, si el usuario quiere ver el total de puntos de cada equipo de fútbol, debe seleccionar el campo “puntos” de “Torneo” y especificar el nombre del campo de salida.

Copiar

Permite copiar la operación del campo seleccionado en el campo que especificó el usuario. Cuando el usuario selecciona un campo para copiar, este y todos los campos incluidos en él (si los hay) se copiarán en el nuevo campo especificado. Esta operación se lleva a cabo en el mismo nivel de jerarquía.

Cambiar nombre

Permite cambiar el nombre del campo seleccionado a uno nuevo que especifique el usuario.

El siguiente código XML le proporciona una referencia a la característica Transformación de lista:

<?xml version="1.0"?>
<sports_details>
  <sports name="football">
	<clubs>
	  <club name="Knitters">
		  <player>Samuel</player>
		  <player>Messi</player>
		  <player>kaka</player>
		  <player>Alan</player>
		  <coach>Stuart</coach>
		  <Tournament name="Football League">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="UEFA">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
	  </club>
	  <club name="Lambs">
		  <player>Ronaldo</player>
		  <player>Neymar</player>
		  <player>Zlatan</player>
		  <player>Mesut</player>
		  <coach>Ivan</coach>
		  <Tournament name="Airtel League">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
		  <Tournament name="Champions League">
			<result>lost</result>
			<points>0</points>
		  </Tournament>
	  </club>
	  <club name="Irons">
		  <player>Scott</player>
		  <player>Paul</player>
		  <player>John</player>
		  <player>Andrew</player>
		  <coach>Jeff</coach>
		  <Tournament name="CAF">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Copa America">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	</clubs>
  </sports>
  <sports name="badminton">
	<clubs>
	  <club name="Shuttlers">
		  <player>Saina</player>
		  <player>Viktor</player>
		  <player>Chen</player>
		  <player>Srikanth</player>
		  <coach>Jan</coach>
		  <Tournament name="Olympic Games">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Commonwealth Games">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	  <club name="Choppers">
		  <player>Wang</player>
		  <player>Sindhu</player>
		  <player>Carolina</player>
		  <player>Li Xuerui</player>
		  <coach>Ratchanok</coach>
		  <Tournament name="World Junior">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
		  <Tournament name="Uber Cup">
			<result>draw</result>
			<points>2</points>
		  </Tournament>
	  </club>
	  <club name="Lobbers">
		  <player>Nozomi</player>
		  <player>Chou</player>
		  <player>Marc</player>
		  <player>Lin</player>
		  <coach>Kevin</coach>
		  <Tournament name="World Senior">
			<result>won</result>
			<points>4</points>
		  </Tournament>
		  <Tournament name="Thomas Cup">
			<result>won</result>
			<points>4</points>
		  </Tournament>
	  </club>
	</clubs>
  </sports>
</sports_details>