Share via


Langzaam veranderende dimensietransformatie

van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

De langzaam veranderende dimensietransformatie coördineert het bijwerken en invoegen van records in datawarehouse-dimensietabellen. U kunt deze transformatie bijvoorbeeld gebruiken om de transformatieuitvoer te configureren die records invoegt en bijwerkt in de tabel DimProduct van de AdventureWorksDW2025 database met gegevens uit de tabel Production.Products in de OLTP-database AdventureWorks.

Belangrijk

De wizard Langzaam veranderende dimensie ondersteunt alleen verbindingen met SQL Server.

De langzaam veranderende dimensietransformatie biedt de volgende functionaliteit voor het beheren van langzaam veranderende dimensies:

  • Het matchen van binnenkomende rijen met rijen in de opzoektabel om nieuwe en bestaande rijen te identificeren.

  • Binnenkomende rijen identificeren die wijzigingen bevatten wanneer wijzigingen niet zijn toegestaan.

  • Het identificeren van afgeleide lidrecords die moeten worden bijgewerkt.

  • Het identificeren van binnenkomende rijen die historische wijzigingen bevatten waarvoor het invoegen van nieuwe records en het bijwerken van verlopen records is vereist.

  • Binnenkomende rijen detecteren die wijzigingen bevatten waarvoor het bijwerken van bestaande records is vereist, inclusief verlopen records.

De langzaam veranderende dimensie-transformatie ondersteunt vier typen wijzigingen: wijzigend attribuut, historisch attribuut, vast attribuut en afgeleid element.

  • Bij het wijzigen van kenmerken worden bestaande records overschreven. Dit soort wijzigingen is gelijk aan een wijziging van type 1. De langzaam veranderende dimensietransformatie stuurt deze rijen naar een uitvoer genaamd Veranderende Attribuutupdates-uitvoer.

  • Wijzigingen in historische kenmerken maken nieuwe records in plaats van bestaande records bij te werken. De enige wijziging die is toegestaan in een bestaande record, is een update naar een kolom die aangeeft of de record actueel of verlopen is. Dit soort wijzigingen is gelijk aan een wijziging van type 2. De langzaam veranderende dimensietransformatie stuurt deze rijen naar twee uitvoerkanalen: Historische Kenmerken Invoegen Uitvoer en Nieuwe Invoer.

  • Vaste kenmerkwijzigingen geven aan dat de kolomwaarde niet mag worden gewijzigd. De transformatie Langzaam veranderende dimensie detecteert wijzigingen en kan de rijen doorsturen met wijzigingen in een uitvoer met de naam Fixed Attribute Output.

  • Afgeleid lid duidt erop dat de rij een afgeleid lidrecord is in de dimensietabel. Een afgeleid lid bestaat wanneer een feitentabel verwijst naar een dimensielid dat nog niet is geladen. Er wordt een minimale record voor afgeleide leden gemaakt in afwachting van relevante dimensiegegevens, die worden geleverd bij een volgende laadbewerking van de gegevens. De langzaam veranderende dimensietransformatie leidt deze rijen naar een uitvoer met de naam Inferred Member Updates. Wanneer gegevens voor het afgeleide lid worden geladen, kunt u de bestaande record bijwerken in plaats van een nieuwe aan te maken.

Opmerking

De langzaam veranderende dimensietransformatie biedt geen ondersteuning voor wijzigingen in type 3, waarvoor wijzigingen in de dimensietabel nodig zijn. Door kolommen te identificeren met het updatetype voor vaste kenmerken, kunt u de gegevenswaarden vastleggen die kandidaten zijn voor wijzigingen in type 3.

Tijdens runtime probeert de transformatie Langzaam veranderende dimensie eerst de binnenkomende rij te koppelen aan een record in de opzoektabel. Als er geen overeenkomst wordt gevonden, is de binnenkomende rij een nieuwe record; Daarom voert de langzaam veranderende dimensietransformatie geen extra werk uit en leidt de rij naar nieuwe uitvoer.

Als er een overeenkomst wordt gevonden, detecteert de transformatie Langzaam veranderende dimensie of de rij wijzigingen bevat. Als de rij wijzigingen bevat, identificeert de langzaam veranderende dimensie-transformatie het updatetype voor elke kolom en stuurt de rij door naar de uitvoer van updates voor veranderende kenmerken, uitvoer voor vaste kenmerken, uitvoer van historische kenmerken of uitvoer van updates voor afgeleide leden. Als de rij ongewijzigd is, leidt de transformatie Langzaam Veranderende Dimensie de rij naar de Ongewijzigde Uitvoer.

Langzaam veranderende dimensietransformatie-uitvoer

De langzaam veranderende dimensietransformatie heeft één invoer en maximaal zes uitvoerwaarden. Een uitvoer leidt een rij naar de subset van de gegevensstroom die overeenkomt met de update en de invoegvereisten van de rij. Deze transformatie biedt geen ondersteuning voor foutuitvoer.

In de volgende tabel worden de uitvoer van transformaties en de vereisten van de volgende gegevensstromen beschreven. De vereisten beschrijven de gegevensstroom die door de Wizard voor Langzaam Veranderende Dimensie wordt gemaakt.

Uitvoer Description Vereisten voor gegevensstromen
Aanpassen van kenmerken wijzigt de uitvoering De record in de opzoektabel wordt bijgewerkt. Deze uitvoer wordt gebruikt voor het wijzigen van kenmerkrijen. Met een OLE DB-opdrachttransformatie wordt de record bijgewerkt met behulp van een UPDATE-instructie.
Uitvoer van vast kenmerk De waarden in rijen die niet mogen worden gewijzigd, komen niet overeen met waarden in de opzoektabel. Deze uitvoer wordt gebruikt voor rijen met vaste kenmerken. Er wordt geen standaardgegevensstroom gemaakt. Als de transformatie zo is geconfigureerd dat deze automatisch doorgaat wanneer er wijzigingen in kolommen met vaste attributen worden tegengekomen, moet u een gegevensstroom maken die deze rijen vastlegt.
Uitvoer van historische kenmerken wordt ingevoegd De opzoektabel bevat ten minste één overeenkomende rij. De rij die als 'actueel' is gemarkeerd, moet nu worden gemarkeerd als 'verlopen'. Deze uitvoer wordt gebruikt voor historische kenmerkrijen. Afgeleide kolomtransformaties maken kolommen voor de verlopen rij en de huidige rijindicatoren. Met een OLE DB-opdrachttransformatie wordt de record bijgewerkt die nu moet worden gemarkeerd als 'verlopen'. De rij met de nieuwe kolomwaarden wordt omgeleid naar de nieuwe uitvoer, waar de rij wordt ingevoegd en gemarkeerd als 'current'.
Uitvoer van afgeleide lidupdates Rijen voor afgeleide dimensieleden worden ingevoegd. Deze uitvoer wordt gebruikt voor afgeleide ledenrijen. Met een OLE DB-opdrachttransformatie wordt de record bijgewerkt met behulp van een SQL UPDATE-instructie.
Nieuwe uitvoer De opzoektabel bevat geen overeenkomende rijen. De rij wordt toegevoegd aan de dimensietabel. Deze uitvoer wordt gebruikt voor nieuwe rijen en wijzigingen in rijen met historische kenmerken. Met een afgeleide kolomtransformatie wordt de huidige rijindicator ingesteld en voegt een OLE DB-doel de rij in.
Ongewijzigde uitvoer De waarden in de opzoektabel komen overeen met de rijwaarden. Deze uitvoer wordt gebruikt voor ongewijzigde rijen. Er wordt geen standaardgegevensstroom gemaakt omdat de langzaam veranderende dimensietransformatie geen werk uitvoert. Als u deze rijen wilt vastleggen, moet u een gegevensstroom voor deze uitvoer maken.

Zakelijke sleutels

Voor de langzaam veranderende dimensietransformatie is ten minste één bedrijfssleutelkolom vereist.

De langzaam veranderende dimensietransformatie biedt geen ondersteuning voor null-bedrijfssleutels. Als de gegevens rijen bevatten waarin de kolom met de bedrijfssleutel null is, moeten deze rijen worden verwijderd uit de gegevensstroom. U kunt de transformatie Voorwaardelijk splitsen gebruiken om rijen te filteren waarvan de kolommen met de bedrijfssleutel null-waarden bevatten. Zie Voorwaardelijke splitsingstransformatie voor meer informatie.

De prestaties van de langzaam veranderende dimensietransformatie optimaliseren

Zie Prestatiefuncties voor gegevensstromen voor suggesties voor het verbeteren van de prestaties van de langzaam veranderende dimensietransformatie.

Problemen met de langzaam veranderende dimensietransformatie oplossen

U kunt de aanroepen die de Slowly Changing Dimension-transformatie doet, registreren bij externe gegevensproviders. U kunt deze logboekregistratiefunctie gebruiken om problemen met de verbindingen, opdrachten en query's op te lossen voor externe gegevensbronnen die door de langzaam veranderende dimensietransformatie worden uitgevoerd. Als u de oproepen wilt registreren die de Slowly Changing Dimension-transformatie maakt naar externe gegevensproviders, schakelt u pakketlogging in en selecteert u het Diagnostic-evenement op het niveau van het pakket. Zie Hulpprogramma's voor probleemoplossing voor pakketuitvoering voor meer informatie.

De langzaam veranderende dimensietransformatie configureren

U kunt eigenschappen instellen via SSIS Designer of programmatisch.

Klik op een van de volgende onderwerpen voor meer informatie over de eigenschappen die u kunt instellen in het dialoogvenster Geavanceerde editor of programmatisch:

Zie Eigenschappen van een gegevensstroomonderdeel instellen voor meer informatie over het instellen van eigenschappen.

De langzaam veranderende dimensietransformatieuitvoer configureren

Het coördineren van de update en het invoegen van records in dimensietabellen kan een complexe taak zijn, met name als zowel type 1- als type 2-wijzigingen worden gebruikt. SSIS Designer biedt twee manieren om ondersteuning te configureren voor langzaam veranderende dimensies:

  • Het dialoogvenster Geavanceerde editor , waarin u een verbinding wilt selecteren, algemene en aangepaste onderdeeleigenschappen wilt instellen, invoerkolommen kiest en kolomeigenschappen instelt op de zes uitvoerwaarden. Als u de taak voor het configureren van ondersteuning voor een langzaam veranderende dimensie wilt voltooien, moet u handmatig de gegevensstroom maken voor de uitvoer die door de transformatie Langzaam veranderende dimensie wordt gebruikt. Zie Gegevensstroom voor meer informatie.

  • De wizard Dimensie Laden, die u begeleidt bij de stappen voor het configureren van de transformatie van langzaam veranderende dimensies en het bouwen van de gegevensstroom voor de uitvoer van transformaties. Als u de configuratie voor langzaam wijzigen van dimensies wilt wijzigen, voert u de wizard Load Dimension opnieuw uit. Voor meer informatie, zie Uitvoer configureren met behulp van de Wizard Langzaam Veranderende Dimensie.

de eigenschappen van een gegevensstroomonderdeel instellen