Rang transformatie in Informatica met VOORBEELD
Wat is rangtransformatie?
Rangtransformatie is een actieve en verbonden transformatie die het filteren van gegevens uitvoert op basis van groepen en rangen. Als u bijvoorbeeld tien records wilt hebben van werknemers met het hoogste salaris, kan een dergelijke filtering worden uitgevoerd door middel van rangtransformatie.
Rangtransformatie biedt ook de mogelijkheid om te rangschikken op basis van groepen. Als u bijvoorbeeld de top tien van salarismedewerkers per afdeling wilt krijgen, dan kan deze groepering worden gedaan met deze transformatie.
Rangtransformatie is een actieve transformatie, omdat deze het aantal uitvoerrijen beïnvloedt.
De rangtransformatie heeft een uitvoerpoort waarmee een rang aan de rijen wordt toegewezen.
Onze eis is om voor elke afdeling de top 3 van de werknemers in loondienst te laden; we zullen dit implementeren met behulp van rangtransformatie.
Stap 1) Maak een toewijzing met bron-EMP en doel-EMP_TARGET
Stap 2) Dan in de kaart
Stap 3) In het transformatievenster maken
- Selecteer rangtransformatie
- Voer de transformatienaam “rnk_salary” in
- Selecteer de knop Maken
Stap 4) De rangtransformatie wordt aangemaakt in de mapping, selecteer de knop Gereed in het venster
Stap 5) Verbind alle poorten, van de bronkwalificatie tot de rangtransformatie
Stap 6) Double klik op de rangtransformatie en het venster 'transformatie bewerken' wordt geopend. In dit venster
- Selecteer het eigenschappenmenu
- Selecteer de optie “Top” in de eigenschap Top/Bottom
- Voer 3 in bij het aantal rangen
Stap 7) In het venster "transformatie bewerken" opnieuw
- Selecteer het tabblad Poorten
- Selecteer groeperen op optie voor de kolom Afdelingsnummer
- Selecteer Rang in de Salariskolom
- Selecteer de knop OK
Stap 8) Verbind de poorten van rangtransformatie naar de doeltabel
Bewaar nu de in kaart brengen en voer het uit na het maken van een sessie en workflow. De bronkwalificatie haalt alle records op, maar rangtransformatie passeert alleen records met drie hoge salarissen voor elke afdeling.