INFORMATICA Transformations Tutorial & Filter Transformation

⚡ Rezumat inteligent

Transformările în Informatica sunt hartaping obiecte care creează, modifică sau transmit date către o țintă, iar transformarea Filtru este obiectul activ care elimină fiecare rând care nu întrunește o singură condiție de filtrare.

  • 🔗 Conectivitate: Transformările conectate se află în pipeline, în timp ce cele neconectate sunt apelate din interiorul unei alte transformări.
  • 🔁 Număr de rânduri: Transformările active modifică numărul de rânduri; cele pasive modifică doar valorile din interiorul unui rând.
  • 🎯 Noțiuni de bază despre filtrare: O condiție decide care rânduri continuă, iar fiecare alt rând părăsește pipeline-ul.
  • 🧪 Exemplu lucrat: Condiția deptno=10 încarcă doar înregistrările departamentului zece în EMP_TARGET.
  • 📄 Jurnal de sesiune: Rândurile care au ca rezultat FALSE sunt eliminate și înregistrate în jurnalul sesiunii.
  • ⚡ De plasament: Nici unulping Filtrul din apropierea sursei împiedică intrarea rândurilor eliminate în transformările ulterioare.

Transformări Informatica și Transformare Filtru

Ce este Transformarea?

Transformările în Informatica sunt obiectele care creează, modifică sau transmit date către structurile țintă definite (tabele, fișiere sau orice altă țintă).

Scopul unei transformări în Informatica este de a modifica datele sursă conform cerințelor sistemului țintă. De asemenea, asigură calitatea datelor încărcate în sistemul țintă.

Informatica oferă diverse transformări pentru a efectua funcționalități specifice.

De exemplu, efectuarea calculului impozitelor pe baza datelor sursă, operațiunea de curățare a datelor etc. În transformări, conectăm porturile pentru a transmite date către acestea, iar transformarea returnează ieșirea prin porturile de ieșire.

Clasificarea transformării

Transformările sunt clasificate în două categorii, una bazată pe conectivitate și cealaltă pe baza modificării numărului de rânduri. Mai întâi vom analiza transformările bazate pe conectivitate.

Tipuri de transformare bazate pe conectivitate

  • Transformări conectate
  • Transformări neconectate

În Informatica, în timpul hărțiipingTransformările care sunt conectate la alte transformări se numesc transformări conexe.

De exemplu, Transformarea Calificatorului Sursă din tabelul sursă EMP este conectat la o transformare Filter pentru a filtra angajații unui departament.

Acele transformări care nu sunt conectate la alte transformări se numesc transformări neconectate.

Funcționalitatea lor este utilizată prin apelarea lor în cadrul altor transformări, cum ar fi transformarea Expresie. Aceste transformări nu fac parte din pipeline.

Transformările conectate sunt preferate atunci când, pentru fiecare rând de intrare, transformarea este apelată sau se așteaptă să returneze o valoare. De exemplu, pentru codurile poștale din fiecare rând, transformarea returnează numele orașului.

Transformările neconectate sunt utile atunci când funcționalitatea lor este necesară doar periodic sau în funcție de anumite condiții. De exemplu, calcularea detaliilor fiscale dacă valoarea fiscală nu este disponibilă.

Diagrama de mai jos plasează ambele perechi de categorii una lângă alta.

Transformări Informatica clasificate după conectivitate și după modificarea numărului de rânduri

Tipuri de transformări bazate pe modificarea numărului de rânduri

  • Transformări active
  • Transformări pasive

Transformările active sunt cele care modifică rândurile de date și numărul de rânduri de intrare transmise acestora. De exemplu, dacă o transformare primește zece rânduri ca intrare și returnează cincisprezece rânduri ca ieșire, atunci este o transformare activă. Datele din rând sunt, de asemenea, modificate într-o transformare activă.

Transformările pasive sunt cele care nu modifică numărul de rânduri de intrare. În transformările pasive, numărul de rânduri de intrare și ieșire rămâne același, iar doar datele sunt modificate la nivel de rând.

Într-o transformare pasivă, nu se creează rânduri noi și nu se elimină rândurile existente.

Mai jos este Lista transformărilor din Informatica

Ce este transformarea filtrului?

Transformarea de filtrare este o transformare activă, deoarece modifică numărul de înregistrări.

Folosind transformarea Filtru, putem filtra înregistrările în funcție de condiția de filtrare.

De exemplu, pentru încărcarea înregistrărilor angajaților cu numărul departamentului egal cu 10, putem plasa o transformare Filtru în hartă.ping cu condiția de filtrare deptno=10. Deci, doar acele înregistrări care au deptno=10 vor fi transmise de transformarea Filtru, iar restul înregistrărilor vor fi eliminate.

Condiția implicită de filtrare este TRUE, așadar o transformare Filter nou creată trece fiecare rând până când este introdusă o condiție. Fiecare rând care returnează FALSE este eliminat și un mesaj este scris în jurnalul de sesiune.

Cum se utilizează transformarea filtrului

Pas 1) Crearea unei Hartăping având sursa „EMP” și ținta „EMP_TARGET”.

Hartăping cu sursa EMP și ținta EMP_TARGET deschise în Mapping proiectant

Pas 2) Apoi, pe hartăping:

  1. Selectați meniul Transformare
  2. Selectați opțiunea Creare

Opțiunea Creare aleasă din meniul Transformare al Hărțiiping proiectant

Pas 3) Apoi, în fereastra Creare transformare:

  1. Selectați Transformare filtru din listă
  2. Introduceți numele transformării „fltr_deptno_10”
  3. Selectați opțiunea Creare

Fereastra Creare Transformare cu Transformare Filtru și numele fltr_deptno_10

Pas 4) Transformarea Filtru va fi creată. Selectați butonul „Gata” din fereastra Creare Transformare.

Noua transformare fltr_deptno_10 plasată pe hartăping pânză

Pas 5) Pe hartăping:

  1. Trageți și plasați toate coloanele Calificator sursă în transformarea Filtru
  2. Legarea coloanelor din transformarea Filtru la tabelul țintă

Calificatorul sursă este conectat la transformarea Filtru și la EMP_TARGET

Pas 6) Double-faceți clic pe transformarea Filtru pentru a-i deschide proprietățile, apoi:

  1. Selectați fila Proprietăți
  2. Faceți clic pe editorul Condiții de filtrare

Fila Proprietăți a transformării Filtru care afișează rândul Condiție filtru

Pas 7) Apoi, în editorul de expresii pentru condițiile de filtrare:

  1. Introduceți condiția de filtrare – deptno=10
  2. Selectați butonul OK

Editor de expresii cu condiția de filtrare deptno=10 introdusă și validată

Pas 8) Acum, din nou în fereastra Editare transformări, în fila Proprietăți veți vedea condiția de filtrare. Selectați butonul OK.

Condiția de filtrare deptno=10 afișată în dreptul proprietății Filter Condition

Acum salvați hartaping și executați-l după crearea sesiune și flux de lucruÎn tabelul țintă, vor fi încărcate doar înregistrările cu deptno=10.

În acest fel, puteți filtra înregistrările sursă utilizând transformarea Filtru.

Filtru vs. Router vs. Filtru Calificator Sursă

Trei obiecte din Informatica pot elimina rânduri nedorite, iar alegerea celui greșit are de suferit fie performanța, fie vizibilitatea datelor respinse.

Obiect Cum se elimină rândurile Când să o alegi
Transformarea filtrului O singură condiție per transformare. Rândurile care returnează FALSE sunt eliminate și notate în jurnalul sesiunii. O singură regulă simplă aplicată în interiorul hărțiiping.
Transformarea routerului Mai multe condiții de grupare la o singură trecere. Rândurile care nu corespund niciunui grup merg în grupul implicit. Rândurile trebuie împărțite în mai multe fluxuri sau rândurile respinse trebuie capturate.
Calificator sursă filtru Condiția devine parte a clauzei WHERE a comenzii SQL citite dintr-o sursă relațională. Sursa este relațională, iar rândurile nedorite nu ar trebui să părăsească niciodată baza de date.

Un singur Router citește datele primite o singură dată, în timp ce mai multe transformări Filter care testează aceeași intrare fac ca Integration Service să proceseze din nou datele respective pentru fiecare dintre ele. Filtrul Source Qualifier limitează ceea ce este extracde la sursă, în timp ce transformarea Filtru limitează ceea ce este trimis către țintă.

Sfaturi pentru îmbunătățirea performanței transformării filtrului

Condiția de filtrare este evaluată pentru fiecare rând care ajunge la transformare, deci unde se află obiectul pe hartăping are un efect direct asupra duratei sesiunii.

  • Plasați transformarea Filtru cât mai aproape de sursă, astfel încât rândurile nedorite să nu treacă niciodată prin transformările ulterioare.
  • Introduceți condiția în Calificatorul sursă atunci când sursa este relațională, deoarece baza de date filtrează rândurile mai rapid decât Serviciul de integrare.
  • Păstrați condiția simplă. O expresie complexă poate fi mutată într-o transformare Expression și redusă la un singur port de steag pe care filtrul îl testează.
  • Folosește un singur Router în loc de mai multe transformări Filter care testează aceeași intrare, astfel încât datele primite să fie citite o singură dată.
  • Rețineți că condiția implicită este TRUE, deci un filtru lăsat neconfigurat trece totul și ascunde greșeala.

Deoarece fiecare rând eliminat este scris ca un mesaj în jurnalul de sesiune, o țintă neașteptat de goală este de obicei explicată prin citirea acelui jurnal, mai degrabă decât prin reluarea hărții.ping.

Întrebări frecvente

Doar una. Expresia poate combina mai multe teste cu AND și OR, dar transformarea evaluează o singură expresie care returnează TRUE sau FALSE pentru fiecare rând primit.

Un rezultat nul este tratat ca FALSE, deci rândul este eliminat.ping Portul din ISNULL sau IIF face intenția explicită și previne dispariția rândurilor fără un motiv evident.

Da. Comparațiile de șiruri respectă majusculele/minusculele, deci o valoare precum SALES nu se potrivește cu Sales. Aplicarea valorii UPPER sau LOWER la port menține testul fiabil atunci când datele sursă sunt inconsistente.

Cele active. Normalizator transformă o singură înregistrare cu coloane repetate în mai multe rânduri, iar o uniune îmbină canalele. Obiectele pasive returnează întotdeauna același număr de rânduri.

Nimic nu îi furnizează rânduri, deoarece nu are legături în canal. O altă transformare o apelează pe nume cu argumente, primește o valoare returnată, iar obiectul rulează doar pentru acele apeluri.

Da. Obiectele reutilizabile sunt construite în Transformation Developer și stocate în repozitoriu, astfel încât o definiție poate fi plasată în mai multe Hartăpings și editate într-un singur loc.

Învățarea automată în instrumentele moderne de integrare profilează sursa, propune reguli de curățare și potrivire și semnalizează coloanele ale căror valori se modifică, astfel încât designerul să pornească de la o conductă sugerată, mai degrabă decât de la o pânză goală.

Copilot elaborează sintaxa expresiilor precum IIF, ISNULL și DECODE dintr-o descriere simplă, ceea ce accelerează scrierea condițiilor. Fiecare expresie generată trebuie testată în raport cu rânduri reale din Designer.

Rezumați această postare cu: