INFORMATICA Transformationer Tutorial & Filter Transformation
⚡ Smart opsummering
Transformationer i Informatica er kortetping objekter, der opretter, ændrer eller sender data til et mål, og Filter-transformationen er det aktive objekt, der fjerner alle rækker, der ikke opfylder en enkelt filterbetingelse.

Hvad er transformation?
Transformationer i Informatica er de objekter, der opretter, ændrer eller sender data til de definerede målstrukturer (tabeller, filer eller andre mål).
Formålet med en transformation i Informatica er at ændre kildedataene i henhold til målsystemets krav. Det sikrer også kvaliteten af de data, der indlæses i målet.
Informatica giver forskellige transformationer til at udføre specifikke funktionaliteter.
For eksempel udførelse af skatteberegning baseret på kildedata, datarensning osv. I transformationer forbinder vi portene for at sende data til dem, og transformationen returnerer outputtet via outputportene.
Klassificering af transformation
Transformationer er klassificeret i to kategorier, en baseret på konnektivitet og den anden baseret på ændringen i antallet af rækker. Først vil vi se på transformationerne baseret på konnektivitet.
Typer af transformation baseret på konnektivitet
- Forbundne transformationer
- Uforbundne transformationer
I Informatica, under kortlægningpingDe transformationer, der er forbundet med andre transformationer, kaldes forbundne transformationer.
For eksempel: Transformation af kildekvalifikator af kildetabellen EMP er forbundet til en filtertransformation for at filtrere medarbejdere i en afdeling.
De transformationer, der ikke er forbundet med nogen andre transformationer, kaldes ikke-forbundne transformationer.
Deres funktionalitet bruges ved at kalde dem i andre transformationer, såsom udtrykstransformationen. Disse transformationer er ikke en del af pipelinen.
De forbundne transformationer foretrækkes, når transformationen for hver inputrække kaldes eller forventes at returnere en værdi. For eksempel returnerer transformationen bynavnet for postnumrene i hver række.
De ikke-forbundne transformationer er nyttige, når deres funktionalitet kun kræves periodisk eller baseret på bestemte betingelser. For eksempel til beregning af skatteoplysninger, hvis skatteværdien ikke er tilgængelig.
Diagrammet nedenfor placerer begge par af kategorier side om side.
Typer af transformation baseret på ændringen i antal rækker
- Aktive transformationer
- Passive transformationer
Aktive transformationer er dem, der ændrer datarækkerne og antallet af inputrækker, der sendes til dem. Hvis en transformation f.eks. modtager ti rækker som input og returnerer femten rækker som output, er det en aktiv transformation. Dataene i rækken ændres også i en aktiv transformation.
Passive transformationer er dem, der ikke ændrer antallet af inputrækker. I passive transformationer forbliver antallet af input- og outputrækker det samme, og kun data ændres på rækkeniveau.
I en passiv transformation oprettes der ingen nye rækker, og ingen eksisterende rækker fjernes.
Følgende er listen over transformationer i Informatica
- Kildekvalifikationstransformation
- Aggregator transformation
- Router transformation
- Snedker transformation
- Rangtransformation
- Sequence Generator Transformation
- Transaktionskontroltransformation
- Opslag og genbrugelig transformation
- Normalisator transformation
- Performance Tuning for Transformation
- Ekstern transformation
- Udtrykstransformation
Hvad er filtertransformation?
Filtertransformation er en aktiv transformation, da den ændrer antallet af poster.
Ved hjælp af Filter-transformationen kan vi filtrere posterne baseret på filterbetingelsen.
For eksempel, for at indlæse medarbejderposter med et afdelingsnummer lig med 10, kan vi indsætte en filtertransformation i kortet.ping med filterbetingelsen deptno=10. Så kun de poster, der har deptno=10, vil blive bestået af Filter-transformationen, og resten af posterne vil blive droppet.
Standardfilterbetingelsen er SAND, så en nyoprettet filtertransformation overfører hver række, indtil en betingelse angives. Hver række, der returnerer FALSK, slettes, og der skrives en besked til sessionsloggen.
Sådan bruger du filtertransformation
Trin 1) Opret en kortping med kilden “EMP” og målet “EMP_TARGET”.
Trin 2) Så på kortetping:
- Vælg menuen Transformation
- Vælg Opret-indstillingen
Trin 3) I vinduet Opret transformation:
- Vælg Filter Transformation fra listen
- Indtast transformationsnavnet “fltr_deptno_10”
- Vælg Opret-indstillingen
Trin 4) Filtertransformationen oprettes. Vælg knappen "Udført" i vinduet Opret transformation.
Trin 5) På kortetping:
- Træk og slip alle kildekvalifikatorkolonnerne til filtertransformationen
- Link kolonnerne fra filtertransformationen til måltabellen
Trin 6) Double-klik på Filter-transformationen for at åbne dens egenskaber, og gør derefter følgende:
- Vælg fanen Egenskaber
- Klik på filterbetingelseseditoren
Trin 7) Så i filterbetingelsesudtrykseditoren:
- Indtast filterbetingelsen – deptnr.=10
- Vælg OK-knappen
Trin 8) Nu i vinduet Rediger transformationer, under fanen Egenskaber, kan du igen se filterbetingelsen. Vælg knappen OK.
Gem nu kortetping og udføre den efter oprettelsen af Session og workflowI måltabellen indlæses kun poster med deptno=10.
På denne måde kan du filtrere kildeposterne ved hjælp af Filter-transformationen.
Filter vs. router vs. kildekvalifikatorfilter
Tre objekter i Informatica kan fjerne uønskede rækker, og at vælge det forkerte objekt koster enten ydeevne eller synligheden af de afviste data.
| Object | Sådan fjernes rækker | Hvornår skal man vælge det? |
|---|---|---|
| Filtertransformation | Én betingelse pr. transformation. Rækker, der returnerer FALSE, slettes og noteres i sessionsloggen. | En enkelt, simpel regel anvendt inde i kortetping. |
| Routertransformation | Flere gruppebetingelser i én omgang. Rækker, der ikke matcher nogen gruppe, går til standardgruppen. | Rækker skal opdeles i flere strømme, eller afviste rækker skal registreres. |
| Kildekvalifikation filtrere | Betingelsen bliver en del af WHERE-klausulen i SQL-en, der læses fra en relationel kilde. | Kilden er relationel, og uønskede rækker bør aldrig forlade databasen. |
En enkelt router læser de indgående data én gang, mens flere filtertransformationer, der tester det samme input, får integrationstjenesten til at behandle disse data igen for hver enkelt. Kildekvalifikatorfilteret begrænser, hvad der er eks.tracfra kilden, hvorimod Filter-transformationen begrænser, hvad der sendes videre til målet.
Tips til at forbedre filtertransformationsydelsen
Filterbetingelsen evalueres for hver række, der når transformationen, så objektet befinder sig på kortet.ping har en direkte effekt på sessionstiden.
- Placer filtertransformationen så tæt på kilden som muligt, så uønskede rækker aldrig bevæger sig gennem de senere transformationer.
- Skub betingelsen ind i kildekvalifikatoren, når kilden er relationel, fordi databasen filtrerer rækker hurtigere end integrationstjenesten.
- Hold betingelsen enkel. Et komplekst udtryk kan flyttes til en udtrykstransformation og reduceres til en enkelt flagport, som filteret tester.
- Brug én router i stedet for flere filtertransformationer, der tester det samme input, så de indgående data kun læses én gang.
- Husk at standardbetingelsen er SAND, så et filter, der ikke er konfigureret, sender alt videre og skjuler fejlen.
Fordi hver slettede række skrives som en besked i sessionsloggen, forklares et uventet tomt mål normalt ved at læse den pågældende log i stedet for at køre kortet igen.ping.









