Domanda

supponiamo di avere la seguente tabella sorgente (chiamata S):

name   gender code

Bob         0          
Nancy       1          
Ruth        1          
David       0          

E supponiamo che io abbia anche una tabella di ricerca (chiamata S_gender_values):

Gender_Code Gender_value

0           Male           
1           Female 

Il mio obiettivo è creare una tabella di destinazione (chiamiamola T) che sarà simile a questa:

name   Gender_Code    

Bob     M             
Nancy   F             
Ruth    F             
David   M             

Presumo inoltre di avere una tabella di ricerca per la tabella T, chiamata T_GenderValues, che posso utilizzare per creare la tabella T (e convalidarne i risultati)

Gender_Code    Gender_value   

M                Male          
F                Female        

ne avevo pensate 2 (o 3) alternative:

  1. creare una tabella di mappatura (chiamiamola S_T_Gender_Code_Mapping) che sarà simile a questa:

    S_Gender_Code     T_Gender_code     
    
    0                   M               
    1                   F    
    

    e poi esegui una semplice unione/ricerca utilizzando tMap.

  2. usa tMap e aggiungi l'espressione che implementerà la mappatura, qualcosa del tipo:

    (S.Gender_Code==0)?"F":"M"
    
  3. simile all'Alternativa 2 ma per utilizzare le routine Java dell'utente.

Esiste un'altra alternativa?Speravo di poter sfruttare la facilità di tMap per mappare tra S_GenderValues ​​e T_GenderValues ​​e beneficiare dell'usabilità dello strumento dell'interfaccia utente come in tMap

Qualche suggerimento?

È stato utile?

Soluzione

A me sembra che l’opzione n. 1 sia inutilmente complessa e potrebbe rallentare il processo.Certo, se avessi dozzine o migliaia di ricerche, è quello che vorresti, ma non per due.

E anche l'opzione n. 3 è eccessiva, poiché vorrai comunque unire il valore in un flusso o iterare il flusso (componenti come tJavaRow sono lì per effettuare trasformazioni più complesse).

Il componente tMap può eseguire il semplice Java a una riga direttamente nel flusso, quindi l'opzione 2 mi sembra la scelta migliore.

Altri suggerimenti

Ho risolto una situazione simile alla tua, il mio problema principale era che avevo una grande tabella di ricerca con ogni tipo di ricerca nello stesso posto.

Se il tuo problema si estende a più opzioni invece che solo a due, è bene tenere a mente il terzo approccio, quindi potresti dare un'occhiata a questa soluzione, associa il contenuto della tabella di ricerca alle variabili globali che elenca e quindi li cerca.

Variabili interne del talento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top