Trasformazione della ricerca in Informatica (esempio)
⚡ Riepilogo intelligente
La trasformazione Lookup in Informatica legge una tabella relazionale, un file flat, una vista o un sinonimo e restituisce i valori corrispondenti per ogni riga in ingresso, funzionando come un join in cui una delle due parti è la sorgente di lookup.

Che cos'è la trasformazione della ricerca?
La trasformazione Lookup è una trasformazione utilizzata per cercare un'origine, un qualificatore di origine o una destinazione al fine di ottenere i dati pertinenti. In sostanza, si tratta di un'operazione di join in cui una delle tabelle di join è costituita dai dati di origine e l'altra dalla tabella di lookup. L'origine di lookup può essere una tabella relazionale, una vista, un sinonimo o un file flat.
La trasformazione è passiva quando restituisce una singola riga per ogni riga in ingresso. A partire da PowerCenter 9.x, può essere creata anche per restituire tutte le righe che soddisfano la condizione; in tal caso, si tratta di una trasformazione attiva. La scelta viene effettuata al momento della creazione della trasformazione e non può essere modificata successivamente.
Ci sono due modi per posizionarlo su una mappapinge la differenza determina come il valore restituito raggiunge il resto della pipeline.
| Aspetto | Ricerca connessa | Ricerca non connessa |
| Posizione | Si trova all'interno della pipeline e riceve i valori dalla trasformazione precedente. | Si trova all'esterno della pipeline e viene chiamato da un'espressione |
| Come viene chiamato | Le file fluiscono nelle sue porte di ingresso | Chiamato con il qualificatore di riferimento :LKP |
| Valori restituiti | È possibile collegare a valle diverse porte di uscita. | Un valore di ritorno viene restituito all'espressione chiamante. |
| Utilizzo tipico | Ogni riga necessita delle colonne ricercate | La ricerca è necessaria solo per alcune righe, oppure la stessa ricerca viene richiamata da più punti |
Nei precedenti argomenti abbiamo utilizzato il Trasformazione del falegname per unire le tabelle "emp" e "dept" per ottenere i nomi dei dipartimenti. In questa sezione, implementeremo questa operazione utilizzando la trasformazione Lookup.
Come creare una trasformazione di ricerca
Di seguito sono riportati i passaggi per creare una trasformazione Lookup in Informatica.
Passo 1) Crea una nuova mappaping con EMP come origine e EMP_DEPTNAME come destinazione. La mappaping L'area di lavoro del progettista contiene quindi la sorgente, il suo qualificatore di sorgente e la definizione di destinazione.
Passo 2) Crea una nuova trasformazione utilizzando il menu Trasformazione, quindi nella finestra Crea trasformazione:
- Seleziona la trasformazione Lookup come trasformazione
- Inserisci il nome della trasformazione "lkp_dept"
- Seleziona l'opzione di creazione
Passo 3) Si aprirà la finestra della tabella di ricerca. In questa finestra:
- Seleziona il pulsante della sorgente
- Seleziona la tabella DIPARTIMENTO
- Selezionare il pulsante OK
Passo 4) Verrà creata una trasformazione di lookup con le colonne della tabella DEPT; ora seleziona il pulsante "Fatto". L'oggetto lkp_dept ora contiene DEPTNO, DNAME e LOC come porte di lookup.
Passo 5) Trascina e rilascia la colonna DEPTNO dal Source Qualifier alla trasformazione Lookup; in questo modo verrà creata una nuova colonna denominata DEPTNO1 nella trasformazione Lookup. Successivamente, collega la colonna DNAME dalla trasformazione Lookup alla tabella di destinazione.
La trasformazione Lookup cercherà e restituirà il nome del dipartimento in base al valore di DEPTNO1. DEPTNO1 è la porta di input che contiene il numero di dipartimento del dipendente, mentre DEPTNO rimane la porta letta dalla tabella di ricerca DEPT.
Passo 6) Double Fai clic sulla trasformazione Ricerca. Quindi nella finestra di modifica della trasformazione:
- Seleziona la scheda delle condizioni
- Imposta la colonna delle condizioni su DEPTNO = DEPTNO1
- Selezionare il pulsante OK
Passo 7) Collega le restanti colonne dal Source Qualifier alla tabella di destinazione.
Ora salva il file carta geograficaping e eseguirlo dopo aver creato la sessione e il flusso di lavoro. Questa mappaping Verranno recuperati i nomi dei dipartimenti utilizzando la trasformazione Lookup.
La trasformazione Lookup è impostata per effettuare una ricerca nella tabella DEPT e la condizione di join è definita in base al numero di reparto. Se più di una riga DEPT soddisfa la condizione, la proprietà "Criterio di ricerca per corrispondenza multipla" nella scheda Proprietà decide quale valore viene restituito.
Trasformazione riutilizzabile
Una trasformazione normale è un oggetto che appartiene a una mappaping e può essere utilizzato all'interno di quella mappaping solo. Tuttavia, rendendo una trasformazione riutilizzabile, può essere riutilizzata all'interno di diverse mappepings.
Ad esempio, una trasformazione Lookup che recupera i dettagli del dipendente in base al numero di dipendente può essere utilizzata in più mappepingovunque siano richiesti i dati dei dipendenti.
Utilizzando una trasformazione riutilizzabile, si riduce il lavoro superfluo di creare nuovamente la stessa funzionalità. Ogni mappaping contiene un'istanza dell'oggetto memorizzato, quindi una modifica apportata alla trasformazione riutilizzabile si ripercuote su tutte le altre.
Come creare una trasformazione riutilizzabile
Di seguito sono riportati i passaggi per creare una trasformazione riutilizzabile.
Passo 1) Apri la mappaping che sta avendo la trasformazione, qui stiamo facendo la Trasformazione di rango riutilizzabile.
Passo 2) Double Fai clic sulla trasformazione per aprire la finestra di modifica della trasformazione. Quindi:
- Seleziona la scheda Trasformazione nella finestra
- Selezionare la casella di controllo per rendere la trasformazione riutilizzabile
- Selezionare sì nella finestra di conferma
- Selezionare OK nella finestra delle proprietà della trasformazione.
Ciò renderà la trasformazione riutilizzabile. Vale la pena leggere la finestra di conferma nel terzo elemento prima di accettarla: promuovere una trasformazione a riutilizzabile è una modifica irreversibile nel Designer e l'oggetto non può essere declassato in seguito. Dove una singola mappaping necessita di una propria copia; trascina l'oggetto riutilizzabile sulla tela tenendo premuto il tasto Ctrl per creare invece un'istanza non riutilizzabile.









