Transformace směrovače v Informatica: Příklad více podmínek
⚡ Chytré shrnutí
Transformace routeru v Informatice je aktivní, propojený objekt, který testuje příchozí řádky na základě několika podmínek skupinového filtru najednou a odesílá každý řádek do odpovídající výstupní skupiny nebo do výchozí skupiny.
Co je to transformace routeru?
Transformace routeru je aktivní a propojená transformace, podobná transformaci filtru, která se používá k filtrování zdrojových dat.
Kromě filtrování je k dispozici i další funkce, a to, že zahozená (filtrovaná) data lze také shromažďovat v mapě.ping, stejně jako lze použít více filtrovacích podmínek k získání více sad dat.
Například při filtrování dat pro deptno = 10 můžeme také získat záznamy, kde deptno není rovno 10. Transformace routeru tedy poskytuje více výstupních skupin a každá výstupní skupina může mít svou vlastní podmínku filtru.
Kromě toho existuje také výchozí skupina. Tato výchozí skupina obsahuje sady záznamů, které nesplňují žádnou z podmínek skupiny. Pokud jste například vytvořili dvě skupiny pro podmínky filtru deptno=10 a deptno=20, pak budou do této výchozí skupiny předány záznamy, které nemají deptno 10 a 20.
Stručně řečeno, data, která jsou odmítnuta skupinami filtrů, budou shromažďována touto výchozí skupinou a někdy může být nutné tato odmítnutá data uložit. V takových scénářích může být výchozí výstupní skupina užitečná.
Pro povolení více podmínek filtrování nabízí transformace Router možnost seskupení.
- Existuje výchozí vstupní skupina, která přijímá vstupní data.
- Existuje také výchozí výstupní skupina, která poskytuje všechna data, která neprošla žádnou podmínkou filtru.
- Pro každou podmínku filtru se v transformaci Routeru vytvoří výstupní skupina. K těmto různým skupinám můžete připojit různé cíle.
Součásti transformace routeru
Před vytvořením mapyping, je užitečné znát čtyři části, které pro vás Návrhář vytváří. Transformace Routeru se skládá z jedné vstupní skupiny, sady výstupních skupin, portů uvnitř nich a podmínek, které určují, kam který řádek směřuje.
| Složka | Co to dělá |
|---|---|
| Vstupní skupina | Jediný vstupní bod pro transformaci. Každý příchozí řádek sem dorazí jednou, bez ohledu na to, kolik výstupních skupin existuje. |
| Uživatelsky definovaná skupina výstupů | Skupina, kterou si vytvoříte a pojmenujete sami, například odd._20. Každá skupina má svou vlastní podmínku skupinového filtru. |
| Výchozí výstupní skupina | Vytvoří se automaticky, jakmile existuje první uživatelem definovaná skupina. Nemá žádnou podmínku filtrování a nelze ji upravovat ani mazat. |
| Podmínka skupinového filtru | Logický výraz zapsaný v editoru výrazů. Řádky, pro které je vyhodnocen jako TRUE, procházejí danou skupinou. |
Návrhář zkopíruje definice portů ze vstupní skupiny do každé výstupní skupiny, takže porty není nutné znovu vytvářet skupinu po skupině. Z tohoto návrhu vyplývají dvě pravidla:
- Řádky lze duplikovat. Pokud řádek splňuje více než jednu podmínku skupinového filtru, je jednou předán každé skupině, která se shoduje. To je obvyklý důvod, proč cílový soubor skončí s více řádky než zdrojový soubor.
- Řádky lze vynechat. Pokud je výchozí skupina ponechána nepropojená, řádky, které se k ní dostanou, jednoduše zmizí z kanálu, což je nejrychlejší způsob, jak zahodit nežádoucí data.
Transformace routeru vs. transformace filtru
Oba objekty testují data oproti podmínce a oba jsou aktivní transformace, takže volba mezi nimi závisí na tom, kolik podmínek je zahrnuto a zda na odmítnutých řádcích záleží.
| Bod srovnání | Transformace filtru | Transformace routeru |
|---|---|---|
| Podmínky pro každý objekt | Jedna | Jeden nebo více, každý ve své vlastní skupině |
| Odmítnuté řádky | Vyřazeno a nedostupné | Shromážděno ve výchozí skupině |
| Výstupní skupiny | Jeden výstupní kanál | Jeden kanál na skupinu plus výchozí skupina |
| Zdroj čte | Jedno čtení na filtr, když jsou podmínky zřetězeny | Jedno čtení pro všechny podmínky |
| Typické použití | Odstranění řádků, které nikdy nejsou potřeba | Rozdělení jednoho zdroje na několik cílů |
Testování tří podmínek s filtrovacími transformacemi znamená tři objekty a v řetězeném designu jsou stejné zdrojové řádky vyhodnocovány opakovaně. Jeden Router vykoná stejnou práci v jednom průchodu, a proto je obecně efektivnější volbou, jakmile se objeví druhá podmínka. Pro jednu vyřazovací podmínku platí jednodušší... Transformace filtru stále lépe sedí.
Jak vytvořit transformaci routeru v programu Informatica
Následující návod vytvoří router, který odešle zaměstnance oddělení 20 k cílové tabulce. Postupujte podle devíti kroků v pořadí uvedeném na mapě.ping Návrhář.
Krok 1) Vytvořit mapaping se zdrojem „EMP“ a cílem „EMP_TARGET“. Mapaping Návrhářské plátno pak obsahuje definici zdroje, jeho kvalifikátor zdroje a definici cíle, jak je znázorněno níže.
Krok 2) Pak na mapěping
- Vyberte nabídku Transformace
- Vyberte možnost vytvoření
Cesta v nabídce použitá ke spuštění průvodce je zvýrazněna na následujícím snímku obrazovky.
Krok 3) V okně vytvoření transformace
- Vyberte transformaci routeru
- Zadejte název transformace „rtr_deptno_10“
- Vyberte možnost Vytvořit
Krok 4) Transformace Routeru bude vytvořena v mapě.pingV okně vyberte možnost Hotovo. Okno Vytvořit transformaci použité v obou krocích je zobrazeno níže.
Krok 5) Přetáhněte všechny sloupce z Kvalifikátor zdroje k transformaci routeru. Každý port je nyní propojen s novým objektem, jak ukazuje snímek obrazovky.
Krok 6) Double klikněte na transformaci Routeru a poté na její vlastnost transformace
- Vyberte kartu skupiny
- Zadejte název skupiny „deptno_20“
- Klikněte na podmínku skupinového filtru
Dále se zobrazí karta Skupiny s nově přidanou skupinou.
Krok 7) V editoru výrazů zadejte podmínku filtru deptno=20 a klikněte na tlačítko OK. Editor obsahující tuto podmínku je zobrazen níže.
Krok 8) V okně skupiny vyberte tlačítko OK. Podmínka se nyní zobrazí u skupiny, jak ukazuje následující snímek obrazovky.
Krok 9) Propojte porty ze skupiny deptno_20 transformace Routeru s porty cílové tabulky. Hotová mapaping běží od zdroje přes skupinu do EMP_TARGET.
Nyní, když spustíte tuto mapuping, filtrované záznamy se načtou do cílové tabulky.
Nejlepší postupy a běžné chyby transformace routeru
Mapaping Výše uvedený příklad používá jednu skupinu, která skrývá většinu chování, jež později způsobuje tikety podpory. Níže uvedené body popisují, co se změní, když se objeví druhá skupina.
- Dávejte pozor na duplicitní řádky. Skupinové podmínky se vzájemně nevylučují. Pokud v jedné skupině napíšete sal>1000 a v jiné skupině deptno=20, znamená to, že zaměstnanec, který splňuje obě podmínky, bude načten dvakrát. Nastavte podmínky jako exkluzivní nebo duplikaci záměrně akceptujte.
- Při odmítnutí záležitosti připojte výchozí skupinu. Řádky, které nesplňují žádnou podmínku, se ztratí, pokud výchozí skupina není propojena s cílem nebo souborem zamítnutí. Auditovatelná načítání je obvykle zachovají.
- Pojmenujte skupiny podle pravidla, nikoli podle cíle. Příklad skupiny deptno_20 je jasně čitelný; skupina s názvem group1 nikoli. Všimněte si, že samotná transformace je v tomto návodu pojmenována rtr_deptno_10, zatímco skupina filtruje podle deptno 20, což je přesně ten typ nesouladu, kterému standard pojmenování zabraňuje.
- Před trasou filtrujte, kde je to možné. Řádky, které žádná skupina nikdy nebude chtít, je levnější odstranit v dotazu Source Qualifier než je přenést do Routeru.
- Nepovažujte Router za spojení. Rozděluje jeden kanál na několik. Spojení větví zpět vyžaduje transformaci Union a sloučení dvou různých zdrojů vyžaduje... Truhlářská transformace.
Skupina, jejíž podmínka vrací hodnotu NULL namísto TRUE nebo FALSE, je považována za neshodnou, takže řádky s hodnotami NULL v testovaném sloupci spadají do výchozí skupiny. Explicitní zpracování hodnot NULL v podmínce tomuto překvapení předchází. ladění výkonu a testování.









