Pregunta

Supongamos que tengo la siguiente tabla de origen (llamado S):

name   gender code

Bob         0          
Nancy       1          
Ruth        1          
David       0          

y deja asumir que también tengo una tabla de búsqueda (llamada S_Gender_Values):

Gender_Code Gender_value

0           Male           
1           Female 

Mi objetivo es crear una tabla de destino (le llamamos T) que se verá así:

name   Gender_Code    

Bob     M             
Nancy   F             
Ruth    F             
David   M             

También asumo que tengo una tabla de búsqueda para la Tabla T, llamada T_Gendervalues, que puedo usar para crear la Tabla T (y validar sus resultados)

Gender_Code    Gender_value   

M                Male          
F                Female        

Pensé en 2 (o 3) alternativas :

  1. Crear una tabla de asignación (le llamamos S_T_GENDER_CODE_MIPMING) que se verá así:

    S_Gender_Code     T_Gender_code     
    
    0                   M               
    1                   F    
    

    y luego haz una unión / búsqueda simple usando tmap.

  2. Use TMAP y agregue la expresión que implementará el mapeo, algo así como:

    (S.Gender_Code==0)?"F":"M"
    
  3. similar a la alternativa 2, pero para usar las rutinas Java del usuario.

  4. ¿Hay otra alternativa? Esperaba poder aprovechar la facilidad de TMAP para mapear entre S_GENDERVALUES y T_GENDERVALUES y para beneficiarse de la usabilidad de la herramienta UI como tenemos en TMAP

    ¿Alguna pista?

¿Fue útil?

Solución

Para mí, parece que la opción # 1 es innecesariamente compleja y podría retardar el proceso.Claro, si tuvieras docenas o miles de búsqueda, eso es lo que querrías, pero no para dos.

y la opción # 3 también es demasiado, ya que desea combinar el valor en un flujo o un flujo de iteración de todos modos (los componentes como TJavarow están ahí para realizar transformaciones más complejas).

El componente TMAP puede hacer el simple java de una línea en el flujo, por lo que la opción 2 me suena como su mejor opción.

Otros consejos

He resuelto una situación similar a la suya, mi principal problema era que tenía una mesa de búsqueda grande con cada tipo de búsqueda en el mismo lugar.

Si su problema crece a más opciones en lugar de solo dos, el tercer enfoque es bueno tener en cuenta, por lo que es posible que desee echar un vistazo a esta solución, asigna el contenido de la tabla de búsqueda en variables globales en listas, y luego los busca.

Variables internas Talend

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top