Trasformazione del router in Informatica: esempio di condizioni multiple
โก Riepilogo intelligente
In Informatica, la trasformazione Router รจ un oggetto attivo e connesso che verifica simultaneamente le righe in ingresso rispetto a diverse condizioni di filtro di gruppo e invia ciascuna riga al gruppo di output corrispondente o al gruppo predefinito.

Cos'รจ la trasformazione del router?
La trasformazione Router รจ una trasformazione attiva e connessa, simile alla trasformazione Filter, utilizzata per filtrare i dati di origine.
Oltre al filtraggio, la funzionalitร aggiuntiva offerta รจ la possibilitร di raccogliere nella mappa anche i dati scartati (dati filtrati).ping, cosรฌ come รจ possibile applicare piรน condizioni di filtro per ottenere piรน set di dati.
Ad esempio, filtrando i dati per deptno = 10, possiamo ottenere anche i record in cui deptno non รจ uguale a 10. Pertanto, la trasformazione Router fornisce piรน gruppi di output e ogni gruppo di output puรฒ avere la propria condizione di filtro.
Inoltre, esiste anche un gruppo predefinito. Questo gruppo predefinito contiene i set di record che non soddisfano nessuna delle condizioni del gruppo. Ad esempio, se sono stati creati due gruppi per le condizioni di filtro deptno=10 e deptno=20, rispettivamente, i record che non hanno deptno 10 e 20 verranno inseriti in questo gruppo predefinito.
In breve, i dati rifiutati dai gruppi di filtro verranno raccolti da questo gruppo predefinito e, a volte, puรฒ essere necessario memorizzare questi dati rifiutati. In tali scenari, il gruppo di output predefinito puรฒ risultare utile.
Per consentire piรน condizioni di filtro, la trasformazione Router offre l'opzione di gruppo.
- ร presente un gruppo di input predefinito che raccoglie i dati di input.
- Esiste anche un gruppo di output predefinito che fornisce tutti quei dati che non vengono filtrati da alcuna condizione di filtro.
- Per ogni condizione di filtro, nella trasformazione Router viene creato un gruppo di output. A questi gruppi รจ possibile collegare destinazioni diverse.
Componenti della trasformazione del router
Prima di costruire la mappapingร utile conoscere le quattro parti che il Designer crea per te. Una trasformazione Router รจ composta da un gruppo di input, un insieme di gruppi di output, le porte al loro interno e le condizioni che determinano la posizione di ciascuna riga.
| Componente | Ciรฒ che fa |
|---|---|
| Gruppo di input | Il punto di ingresso unico per la trasformazione. Ogni riga in entrata arriva qui una sola volta, indipendentemente dal numero di gruppi di output presenti. |
| Gruppo di output definito dall'utente | Un gruppo che crei e nomini tu stesso, ad esempio deptno_20. Ciascun gruppo ha la propria condizione di filtro. |
| Gruppo di output predefinito | Viene creato automaticamente non appena esiste il primo gruppo definito dall'utente. Non ha condizioni di filtro e non puรฒ essere modificato o eliminato. |
| Condizione del filtro di gruppo | Un'espressione booleana scritta nell'Editor di espressioni. Le righe per cui risulta VERO vengono espulse da quel gruppo. |
Il progettista copia le definizioni delle porte dal gruppo di input a ogni gruppo di output, in modo che le porte non debbano essere ricreate gruppo per gruppo. Da questa progettazione derivano due regole:
- Le righe possono essere duplicate. Se una riga soddisfa piรน di una condizione di filtro di gruppo, viene passata una volta a ciascun gruppo corrispondente. Questo รจ il motivo per cui solitamente una destinazione si ritrova con piรน righe rispetto alla sorgente.
- ร possibile eliminare delle righe. Se il gruppo predefinito non viene collegato, le righe che lo raggiungono semplicemente scompaiono dalla pipeline, il che rappresenta il modo piรน rapido per scartare i dati indesiderati.
Trasformazione del router vs. trasformazione del filtro
Entrambi gli oggetti verificano i dati rispetto a una condizione ed entrambi sono trasformazioni attive, quindi la scelta tra i due dipende dal numero di condizioni coinvolte e dall'importanza delle righe rifiutate.
| Punto di confronto | Trasformazione del filtro | Trasformazione del router |
|---|---|---|
| Condizioni per oggetto | Un | Uno o molti, ciascuno nel proprio gruppo |
| Righe rifiutate | Rilasciato e non disponibile | Raccolti nel gruppo predefinito |
| Gruppi di output | Una singola linea di uscita | Una pipeline per gruppo, piรน il gruppo predefinito |
| La fonte legge | Una sola lettura per filtro quando le condizioni sono concatenate | Una lettura per tutte le condizioni |
| Utilizzo tipico | Rimozione delle righe non necessarie | Suddividere una fonte in piรน obiettivi |
Testare tre condizioni con trasformazioni Filter significa tre oggetti e, in una progettazione a catena, le stesse righe sorgente vengono valutate ripetutamente. Un Router esegue lo stesso lavoro in un singolo passaggio, motivo per cui รจ generalmente l'opzione piรน efficiente quando compare una seconda condizione. Per una singola condizione usa e getta, la soluzione piรน semplice Trasformazione del filtro รจ ancora la soluzione migliore.
Come creare una trasformazione Router in Informatica
La procedura guidata qui sotto crea un Router che invia i dipendenti del reparto 20 a un tavolo di destinazione. Segui i nove passaggi nell'ordine indicato nella mappa.ping Progettista.
Passo 1) Creare un carta geograficaping con sorgente โEMPโ e destinazione โEMP_TARGETโ. La mappaping L'area di lavoro del progettista contiene quindi la definizione della sorgente, il relativo qualificatore di sorgente e la definizione della destinazione, come mostrato di seguito.
Passo 2) Poi sulla mappaping
- Seleziona il menu Trasformazione
- Seleziona l'opzione di creazione
Il percorso del menu utilizzato per avviare la procedura guidata รจ evidenziato nella schermata successiva.
Passo 3) Nella finestra di creazione della trasformazione
- Seleziona la trasformazione del router
- Inserisci un nome per la trasformazione โrtr_deptno_10โ
- Seleziona l'opzione Crea
Passo 4) La trasformazione Router verrร creata nella mappapingSelezionare l'opzione "Fatto" nella finestra. La finestra "Crea trasformazione" utilizzata in entrambi i passaggi รจ mostrata di seguito.
Passo 5) Trascina e rilascia tutte le colonne da Qualificatore della fonte Trasformazione in Router. Ogni porta รจ ora collegata al nuovo oggetto, come mostrato nello screenshot.
Passo 6) Double fai clic sulla trasformazione Router, quindi nella proprietร di trasformazione di essa
- Seleziona la scheda del gruppo
- Inserisci il nome del gruppo "deptno_20"
- Fare clic sulla condizione del filtro del gruppo
Successivamente viene mostrata la scheda Gruppi con il nuovo gruppo aggiunto.
Passo 7) Nell'editor di espressioni, inserisci la condizione di filtro deptno=20 e seleziona il pulsante OK. L'editor contenente questa condizione รจ mostrato di seguito.
Passo 8) Seleziona il pulsante OK nella finestra del gruppo. La condizione ora appare associata al gruppo, come mostrato nella schermata successiva.
Passo 9) Collega le porte dal gruppo deptno_20 della trasformazione Router alle porte della tabella di destinazione. La mappa finaleping Il percorso va dalla sorgente attraverso il gruppo fino a EMP_TARGET.
Ora, quando esegui questa mappaping, i record filtrati verranno caricati nella tabella di destinazione.
Trasformazione del router: migliori pratiche ed errori comuni
La mappaping Il caso descritto sopra utilizza un solo gruppo, il che nasconde la maggior parte dei comportamenti che in seguito generano richieste di assistenza. I punti seguenti illustrano cosa cambia con la comparsa di un secondo gruppo.
- Fai attenzione alle righe duplicate. Le condizioni di gruppo non si escludono a vicenda. Scrivere "sal>1000" in un gruppo e "deptno=20" in un altro significa che un dipendente che soddisfa entrambe le condizioni viene caricato due volte. Rendete le condizioni esclusive oppure accettate deliberatamente la duplicazione.
- Collega il gruppo predefinito quando i rifiuti sono importanti. Le righe che non soddisfano alcuna condizione vengono perse a meno che il gruppo predefinito non sia collegato a un file di destinazione o a un file di rifiuto. I caricamenti verificabili di solito le mantengono.
- Assegnare ai gruppi il nome in base alla regola, non all'obiettivo. Il gruppo di esempio deptno_20 รจ chiaro; un gruppo chiamato group1 non lo รจ. Si noti che la trasformazione stessa รจ denominata rtr_deptno_10 in questa procedura, mentre il gruppo filtra in base al deptno 20, che รจ esattamente il tipo di incongruenza che uno standard di denominazione previene.
- Se possibile, filtra i risultati prima di instradare il percorso. Rimuovere le righe che nessun gruppo vorrร mai รจ piรน economico nella query Source Qualifier piuttosto che inserirle nel Router.
- Non considerare Router come un join. Divide una conduttura in diverse. Riunire i rami richiede una trasformazione Union e combinare due fonti diverse richiede Trasformazione del falegname.
Un gruppo la cui condizione restituisce NULL anzichรฉ TRUE o FALSE viene trattato come non corrispondente, quindi le righe con valori null nella colonna testata passano al gruppo predefinito. Gestire i valori null esplicitamente nella condizione evita questa sorpresa durante ottimizzazione delle prestazioni e test.








