INFORMATICA Transformaties-tutorial en filtertransformatie

โšก Slimme samenvatting

Transformaties in Informatica zijn de kaartping Objecten die gegevens creรซren, wijzigen of doorgeven aan een doel, en de filtertransformatie is het actieve object dat elke rij verwijdert die niet aan een filtervoorwaarde voldoet.

  • ๐Ÿ”— Connectiviteit: Verbonden transformaties bevinden zich in de pipeline, terwijl niet-verbonden transformaties vanuit een andere transformatie worden aangeroepen.
  • ๐Ÿ” Aantal rijen: Actieve transformaties veranderen het aantal rijen; passieve transformaties veranderen alleen de waarden binnen een rij.
  • ๐ŸŽฏ Basisprincipes van filters: Eรฉn voorwaarde bepaalt welke rijen doorgaan en welke de pijplijn verlaten.
  • ๐Ÿงช Uitgewerkt voorbeeld: De voorwaarde deptno=10 laadt alleen de records van afdeling tien in EMP_TARGET.
  • ๐Ÿ“„ Sessielogboek: Rijen die als ONWAAR worden beoordeeld, worden genegeerd en in het sessielogboek vastgelegd.
  • โšก Plaatsing: Keeping Het filter dicht bij de bron voorkomt dat verwijderde rijen in latere transformaties terechtkomen.

Informatica-transformaties en filtertransformatie

Wat is transformatie?

Transformaties in Informatica zijn de objecten die gegevens creรซren, wijzigen of doorgeven aan de gedefinieerde doelstructuren (tabellen, bestanden of andere doelen).

Het doel van een transformatie in Informatica is het aanpassen van de brongegevens aan de eisen van het doelsysteem. Het waarborgt tevens de kwaliteit van de gegevens die in het doelsysteem worden geladen.

Informatica biedt verschillende transformaties om specifieke functionaliteiten uit te voeren.

Bijvoorbeeld het uitvoeren van belastingberekeningen op basis van brongegevens, het opschonen van gegevens, enzovoort. Bij transformaties verbinden we de poorten om gegevens door te geven, en de transformatie retourneert de uitvoer via uitvoerpoorten.

Classificatie van transformatie

Transformaties worden ingedeeld in twee categorieรซn: een op basis van connectiviteit en een op basis van de verandering in het aantal rijen. We zullen eerst de transformaties op basis van connectiviteit bekijken.

Soorten transformaties gebaseerd op connectiviteit

  • Verbonden transformaties
  • Niet-verbonden transformaties

In Informatica, tijdens het in kaart brengen van een kaartpingTransformaties die met andere transformaties verbonden zijn, worden verbonden transformaties genoemd.

Bijvoorbeeld Transformatie van bronkwalificatie De brontabel EMP is gekoppeld aan een filtertransformatie om de medewerkers van een afdeling te filteren.

De transformaties die niet met andere transformaties zijn verbonden, worden niet-verbonden transformaties genoemd.

Hun functionaliteit wordt benut door ze aan te roepen binnen andere transformaties, zoals de Expression-transformatie. Deze transformaties maken geen deel uit van de pipeline.

De gekoppelde transformaties hebben de voorkeur wanneer voor elke invoerrij een transformatie wordt aangeroepen of een waarde moet retourneren. Bijvoorbeeld, voor de postcodes in elke rij, waarbij de transformatie de plaatsnaam retourneert.

De niet-verbonden transformaties zijn nuttig wanneer hun functionaliteit slechts periodiek of onder bepaalde voorwaarden nodig is. Bijvoorbeeld voor het berekenen van de belastinggegevens als de belastingwaarde niet beschikbaar is.

Het onderstaande diagram plaatst beide paren categorieรซn naast elkaar.

Informatica-transformaties geclassificeerd op basis van connectiviteit en verandering in het aantal rijen.

Soorten transformaties gebaseerd op de verandering in het aantal rijen

  • Actieve transformaties
  • Passieve transformaties

Actieve transformaties zijn transformaties die de gegevensrijen en het aantal invoerrijen dat eraan wordt doorgegeven, wijzigen. Als een transformatie bijvoorbeeld tien rijen als invoer ontvangt en vijftien rijen als uitvoer retourneert, is het een actieve transformatie. De gegevens in de rij worden ook gewijzigd tijdens een actieve transformatie.

Passieve transformaties zijn transformaties die het aantal invoerrijen niet veranderen. Bij passieve transformaties blijft het aantal invoer- en uitvoerrijen gelijk, en worden alleen de gegevens op rijniveau aangepast.

Bij een passieve transformatie worden geen nieuwe rijen aangemaakt en worden er geen bestaande rijen verwijderd.

Hieronder vindt u de lijst met transformaties in Informatica

Wat is filtertransformatie?

Filtertransformatie is een actieve transformatie omdat deze het aantal records wijzigt.

Met behulp van de Filter-transformatie kunnen we de records filteren op basis van de filtervoorwaarde.

Om bijvoorbeeld alleen de werknemersgegevens te laden waarvan het deptno-nummer 10 is, kunnen we een filtertransformatie in de kaart plaatsen.ping met de filtervoorwaarde deptno=10. Dus alleen records met deptno=10 worden door de filtertransformatie doorgegeven, de rest wordt verwijderd.

De standaard filtervoorwaarde is WAAR, dus een nieuw aangemaakte filtertransformatie laat elke rij doorlopen totdat aan een voorwaarde wordt voldaan. Elke rij die ONWAAR retourneert, wordt verwijderd en er wordt een bericht naar het sessielogboek geschreven.

Hoe gebruik je filtertransformaties?

Stap 1) Maak een kaartping met bron "EMP" en doel "EMP_TARGET".

Wereldmapping met de EMP-bron en het EMP_TARGET-doel geopend in Map.ping Designer

Stap 2) Vervolgens op de kaartping:

  1. Selecteer het menu Transformatie.
  2. Selecteer de optie 'Maken'.

Maak de optie die is geselecteerd in het menu 'Transformatie' van de kaart.ping Designer

Stap 3) Vervolgens in het venster 'Transformatie maken':

  1. Selecteer Filtertransformatie in de lijst
  2. Voer de transformatienaam โ€œfltr_deptno_10โ€ in.
  3. Selecteer de optie 'Maken'.

Maak een transformatievenster aan met de naam 'Filter Transformation' en de naam 'fltr_deptno_10'.

Stap 4) De filtertransformatie wordt aangemaakt. Selecteer de knop 'Klaar' in het venster 'Transformatie aanmaken'.

Nieuwe fltr_deptno_10 transformatie toegevoegd aan de kaartping canvas

Stap 5) Op de kaartping:

  1. Sleep alle kolommen van de bronkwalificatie naar de filtertransformatie.
  2. Koppel de kolommen van de filtertransformatie aan de doeltabel.

De Source Qualifier-poorten zijn gekoppeld aan de filtertransformatie en vervolgens aan EMP_TARGET.

Stap 6) Double- Klik op de transformatie 'Filter' om de eigenschappen ervan te openen en vervolgens:

  1. Selecteer het tabblad Eigenschappen.
  2. Klik op de editor voor filtervoorwaarden.

Tabblad Eigenschappen van de filtertransformatie met de rij Filtervoorwaarde

Stap 7) Vervolgens in de editor voor de filtervoorwaarde-uitdrukking:

  1. Voer de filtervoorwaarde in โ€“ deptno=10
  2. Selecteer de OK-knop.

Expressie-editor met de filtervoorwaarde deptno=10 ingevoerd en gevalideerd.

Stap 8) Ga nu terug naar het venster 'Transformaties bewerken'. Op het tabblad 'Eigenschappen' ziet u de filtervoorwaarde. Selecteer de knop 'OK'.

Filtervoorwaarde deptno=10 weergegeven bij de eigenschap Filtervoorwaarde

Sla de kaart nu op.ping en voer het uit na het aanmaken van de sessie en workflowIn de doeltabel worden alleen de records met deptno=10 geladen.

Op deze manier kunt u de bronrecords filteren met behulp van de filtertransformatie.

Filter versus router versus bronkwalificatiefilter

In Informatica zijn er drie objecten waarmee ongewenste rijen verwijderd kunnen worden. Het kiezen van het verkeerde object kan leiden tot prestatieverlies of een verminderde zichtbaarheid van de verwijderde gegevens.

Object Hoe rijen worden verwijderd Wanneer je het moet kiezen
Filtertransformatie Eรฉn voorwaarde per transformatie. Rijen die FALSE retourneren, worden verwijderd en in het sessielogboek vastgelegd. Een enkele, simpele regel die binnen de kaart wordt toegepast.ping.
Routertransformatie Meerdere groeperingscondities in รฉรฉn doorloop. Rijen die aan geen enkele groepering voldoen, gaan naar de standaardgroepering. Rijen moeten worden opgesplitst in meerdere streams, of afgewezen rijen moeten worden opgevangen.
Bronkwalificatie filter De voorwaarde wordt onderdeel van de WHERE-clausule van de SQL-query die uit een relationele bron wordt gelezen. De bron is relationeel en ongewenste rijen mogen de database nooit verlaten.

Een enkele router leest de binnenkomende gegevens eenmaal, terwijl verschillende filtertransformaties die dezelfde invoer testen ervoor zorgen dat de integratieservice die gegevens voor elk ervan opnieuw verwerkt. Het bronkwalificatiefilter beperkt wat er wordt weergegeven.tracDe filtertransformatie beperkt wat er vanuit de bron wordt verzonden, terwijl de filtertransformatie beperkt wat er naar het doel wordt doorgestuurd.

Tips om de prestaties van filtertransformaties te verbeteren

De filtervoorwaarde wordt geรซvalueerd voor elke rij die de transformatie bereikt, dus waar het object zich in de kaart bevindt.ping Heeft een direct effect op de sessieduur.

  • Plaats de filtertransformatie zo dicht mogelijk bij de bron, zodat ongewenste rijen niet door de latere transformaties worden meegenomen.
  • Voeg de voorwaarde toe aan de Source Qualifier wanneer de bron relationeel is, omdat de database rijen sneller filtert dan de Integration Service.
  • Houd de voorwaarde eenvoudig. Een complexe expressie kan worden verplaatst naar een expressietransformatie en worden gereduceerd tot een enkele vlag die door het filter wordt getest.
  • Gebruik รฉรฉn router in plaats van meerdere filtertransformaties die dezelfde invoer testen, zodat de binnenkomende gegevens slechts รฉรฉn keer worden gelezen.
  • Onthoud dat de standaardvoorwaarde WAAR is, dus een filter dat niet geconfigureerd is, laat alles door en verbergt de fout.

Omdat elke verwijderde rij als een bericht in het sessielogboek wordt vastgelegd, wordt een onverwacht lege doellocatie meestal verklaard door dat logboek te raadplegen in plaats van door de kaart opnieuw uit te voeren.ping.

Veelgestelde vragen

Slechts รฉรฉn. De expressie kan meerdere tests combineren met AND en OR, maar de transformatie evalueert รฉรฉn enkele expressie die TRUE of FALSE retourneert voor elke binnenkomende rij.

Een null-resultaat wordt als FALSE beschouwd, waardoor de rij wordt verwijderd.ping De poort in ISNULL of IIF maakt de intentie expliciet en voorkomt dat rijen verdwijnen zonder duidelijke reden.

Ja. Bij tekenreeksvergelijkingen wordt rekening gehouden met hoofdletters en kleine letters, dus een waarde zoals SALES komt niet overeen met Sales. Door UPPER of LOWER toe te passen op de poort blijft de test betrouwbaar, zelfs wanneer de brongegevens inconsistent zijn.

Actieve exemplaren. De Normalizer Een `Union` zet een enkel record met herhaalde kolommen om in meerdere rijen, en een `Union` voegt pijplijnen samen. Passieve objecten retourneren altijd hetzelfde aantal rijen.

Niets voert er rijen aan toe, omdat er geen koppelingen in de pipeline zijn. Een andere transformatie roept het object bij naam aan met argumenten, ontvangt รฉรฉn retourwaarde en het object wordt alleen uitgevoerd voor die aanroepen.

Ja. Herbruikbare objecten worden gemaakt in de Transformation Developer en opgeslagen in de repository, zodat รฉรฉn definitie in meerdere objecten kan worden gebruikt. kaartpings en op รฉรฉn plek bewerkt.

Machine learning in moderne integratietools profileert de broncode, stelt regels voor opschoning en matching voor en markeert kolommen waarvan de waarden afwijken, zodat de ontwerper kan beginnen met een voorgestelde workflow in plaats van een blanco canvas.

Copilot genereert expressiesyntaxis zoals IIF, ISNULL en DECODE op basis van een eenvoudige beschrijving, wat het schrijven van voorwaarden versnelt. Elke gegenereerde expressie moet echter nog steeds worden getest aan de hand van echte rijen in de Designer.

Vat dit bericht samen met: