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.

  • 🔀 Více podmínek: Jeden router nahrazuje řetězec transformací filtrů testováním několika podmínek v jednom průchodu.
  • ???? Struktura skupiny: Jedna vstupní skupina napájí uživatelem definované výstupní skupiny a jednu automaticky nastavenou výchozí skupinu.
  • 🗃️ Výchozí skupina: Řádky, které nesplňují všechny podmínky, se sem dostávají, takže odmítnutá data lze stále zachytit, místo aby se ztratila.
  • 🧪 Zpracovaný příklad: Skupina s názvem deptno_20 s podmínkou deptno=20 načte do EMP_TARGET pouze řádky oddělení 20.
  • ♻️ Překrytíping pravidla: Řádek, který splňuje dvě podmínky, je jednou předán každé odpovídající výstupní skupině.
  • Účinnost: Zdroj se čte jednou, což dělá jeden Router levnějším než několik Filter transformací čtoucích stejné řádky.

Transformace routeru v Informatica

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.

Mapaping Návrhářské plátno obsahující zdroj EMP, jeho kvalifikátor zdroje a definici cíle EMP_TARGET

Krok 2) Pak na mapěping

  1. Vyberte nabídku Transformace
  2. 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.

Na mapě otevřeno menu Transformaceping Návrhář s vybranou možností Vytvořit

Krok 3) V okně vytvoření transformace

  1. Vyberte transformaci routeru
  2. Zadejte název transformace „rtr_deptno_10“
  3. 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.

Vytvořit okno transformace s vybraným Routerem a zadaným názvem rtr_deptno_10

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.

Všechny sloupce kvalifikátoru zdroje byly přetaženy do transformace routeru rtr_deptno_10.

Krok 6) Double klikněte na transformaci Routeru a poté na její vlastnost transformace

  1. Vyberte kartu skupiny
  2. Zadejte název skupiny „deptno_20“
  3. Klikněte na podmínku skupinového filtru

Dále se zobrazí karta Skupiny s nově přidanou skupinou.

Karta Skupiny v transformaci Routeru s přidánou uživatelem definovanou skupinou deptno_20

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.

Editor výrazů obsahující podmínku skupinového filtru deptno=20 pro skupinu deptno_20

Krok 8) V okně skupiny vyberte tlačítko OK. Podmínka se nyní zobrazí u skupiny, jak ukazuje následující snímek obrazovky.

Podmínka skupinového filtru uložená pro skupinu deptno_20 v okně Upravit transformace

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.

Porty výstupní skupiny deptno_20 propojené s cílovou tabulkou 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í.

Nejčastější dotazy

Ano. Integrační služba vyhodnocuje každou podmínku skupinového filtru vůči každému řádku, takže řádek, který splňuje dvě podmínky, je jednou propuštěn každou odpovídající skupinou. Překrýváníping Podmínky jsou obvyklou příčinou neočekávaných duplicitních řádků.

Řádky směrované do ní jsou z kanálu vyřazeny. Ponechání výchozí skupiny nepřipojené je standardní způsob, jak zahodit data, která žádná podmínka nechce, a je to také důvod, proč odmítnuté řádky někdy zmizí bez povšimnutí.

Ne. Zobrazí se automaticky po vytvoření první uživatelem definované skupiny, nemá žádnou podmínku filtrování skupin a Návrhář neumožňuje její úpravu ani odebrání. Lze přidávat, přejmenovávat nebo mazat pouze uživatelem definované skupiny.

Přesně jeden. Každý řádek vstupuje přes tuto jednu vstupní skupinu a Návrhář zkopíruje definice portů do každé výstupní skupiny, takže porty nemusí být znovu vytvářeny pro každou větev mapy.ping.

S transformací Union, která přijímá několik vstupních skupin s odpovídajícími porty a vrací jeden výstupní kanál. Router rozděluje data; pouze Union spojuje větve zpět do jednoho cíle.

Pořadí připojených výstupních skupin určuje pořadí, ve kterém Integration Service vyhodnocuje podmínky. Nezastaví řádek odpovídající pozdějším skupinám, takže pořadí ovlivňuje spíše pořadí než to, které řádky jsou vybrány.

Asistenti s umělou inteligencí profilují zdrojová data, aby odhalili, jak se hodnoty skutečně rozdělují, a poté navrhují podmínky rozdělení a označují překrývání, která by mohla duplikovat řádky. Poradci založené na strojovém učení také detekují sloupce s vysokou mírou nulových hodnot dříve, než tyto řádky tiše dosáhnou výchozí skupiny.

Copilot rychle vytváří booleovské výrazy a odpovídající SQL, což šetří čas strávený opakujícími se pravidly. Nevidí názvy portů ani datové objemy, proto před uložením mapy ověřte každý návrh v editoru výrazů.ping.

Shrňte tento příspěvek takto: