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.

  • 🔗 Tilslutning: Forbundne transformationer sidder i pipelinen, mens ikke-forbundne transformationer kaldes indefra en anden transformation.
  • 🔁 Antal rækker: Aktive transformationer ændrer antallet af rækker; passive transformationer ændrer kun værdier inden for en række.
  • 🎯 Grundlæggende filter: Én betingelse bestemmer, hvilke rækker der fortsætter, og hver anden række forlader pipelinen.
  • 🧪 Udarbejdet eksempel: Betingelsen deptno=10 indlæser kun afdeling ti poster i EMP_TARGET.
  • 📄 Sessionslog: Rækker, der evalueres til FALSE, kasseres og registreres i sessionsloggen.
  • ⚡ Placering: keeping Filteret tæt på kilden forhindrer kasserede rækker i at komme ind i senere transformationer.

Informatica-transformationer og filtertransformation

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.

Informatica-transformationer klassificeret efter konnektivitet og ændring i rækkeantal

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

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”.

Kortping med EMP-kilden og EMP_TARGET-målet åbnet i Mapping Designer

Trin 2) Så på kortetping:

  1. Vælg menuen Transformation
  2. Vælg Opret-indstillingen

Opret indstilling valgt fra Transformationsmenuen på kortetping Designer

Trin 3) I vinduet Opret transformation:

  1. Vælg Filter Transformation fra listen
  2. Indtast transformationsnavnet “fltr_deptno_10”
  3. Vælg Opret-indstillingen

Opret et transformationsvindue med filtertransformation og navnet fltr_deptno_10

Trin 4) Filtertransformationen oprettes. Vælg knappen "Udført" i vinduet Opret transformation.

Ny fltr_deptno_10 transformation placeret på kortetping canvas

Trin 5) På kortetping:

  1. Træk og slip alle kildekvalifikatorkolonnerne til filtertransformationen
  2. Link kolonnerne fra filtertransformationen til måltabellen

Kildekvalifikatorporte linket til filtertransformationen og videre til EMP_TARGET

Trin 6) Double-klik på Filter-transformationen for at åbne dens egenskaber, og gør derefter følgende:

  1. Vælg fanen Egenskaber
  2. Klik på filterbetingelseseditoren

Fanen Egenskaber for filtertransformationen, der viser rækken Filterbetingelse

Trin 7) Så i filterbetingelsesudtrykseditoren:

  1. Indtast filterbetingelsen – deptnr.=10
  2. Vælg OK-knappen

Udtrykseditor med filterbetingelsen deptno=10 indtastet og valideret

Trin 8) Nu i vinduet Rediger transformationer, under fanen Egenskaber, kan du igen se filterbetingelsen. Vælg knappen OK.

Filterbetingelse deptnr.=10 vist mod egenskaben Filterbetingelse

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.

Ofte Stillede Spørgsmål

Kun én. Udtrykket kan kombinere flere tests med AND og OR, men transformationen evaluerer et enkelt udtryk, der returnerer TRUE eller FALSE for hver indgående række.

Et null-resultat behandles som FALSK, så rækken slettes.ping Porten i ISNULL eller IIF gør intentionen eksplicit og forhindrer, at rækker forsvinder uden en åbenlys grund.

Ja. Strengsammenligninger respekterer store og små bogstaver, så en værdi som SALG matcher ikke Salg. Anvendelse af UPPER eller LOWER på porten holder testen pålidelig, når kildedataene er inkonsistente.

De aktive. Normalisator omdanner en enkelt post med gentagne kolonner til flere rækker, og en Union fletter pipelines. Passive objekter returnerer altid det samme rækkeantal.

Intet sender den rækker, fordi den ikke har nogen links i pipelinen. En anden transformation kalder den ved navn med argumenter, modtager én returværdi, og objektet kører kun for disse kald.

Ja. Genanvendelige objekter bygges i Transformation Developer og gemmes i arkivet, så én definition kan slippes i mange kortpings og redigeret på ét sted.

Maskinlæring i moderne integrationsværktøjer profilerer kilden, foreslår rensnings- og matchningsregler og markerer kolonner, hvis værdier ændrer sig, så designeren starter fra en foreslået pipeline i stedet for et blankt lærred.

Copilot udarbejder udtrykssyntaks som IIF, ISNULL og DECODE ud fra en almindelig beskrivelse, hvilket fremskynder betingelsesskrivningen. Hvert genereret udtryk skal stadig testes mod rigtige rækker i Designeren.

Opsummer dette indlæg med: