Delen via


Pivot-draaitransformatie

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

De Pivot-transformatie zet een genormaliseerde gegevensset om tot een minder genormaliseerde maar compactere versie door de invoergegevens op een kolomwaarde te pivoteren. Een genormaliseerde gegevensset Orders bevat bijvoorbeeld de klantnaam, het product en de hoeveelheid die is gekocht, heeft doorgaans meerdere rijen voor elke klant die meerdere producten heeft gekocht, waarbij elke rij voor die klant ordergegevens voor een ander product weergeeft. Door de gegevensset in de productkolom te draaien, kan de Pivot-transformatie een gegevensset uitvoeren met één rij per klant. Deze enkele rij bevat alle aankopen van de klant, waarbij de productnamen worden weergegeven als kolomnamen en de hoeveelheid die wordt weergegeven als een waarde in de productkolom. Omdat niet elke klant elk product koopt, kunnen veel kolommen null-waarden bevatten.

Wanneer een gegevensset wordt gepimpt, voeren invoerkolommen verschillende rollen uit in het draaiproces. Een kolom kan op de volgende manieren deelnemen:

  • De kolom wordt ongewijzigd doorgegeven aan de uitvoer. Omdat veel invoerrijen slechts in één uitvoerrij kunnen resulteren, kopieert de transformatie alleen de eerste invoerwaarde voor de kolom.

  • De kolom fungeert als de sleutel of het deel van de sleutel waarmee een set records wordt geïdentificeerd.

  • De kolom definieert het draaipunt. De waarden in deze kolom zijn gekoppeld aan kolommen in de gedraaide gegevensset.

  • De kolom bevat waarden die worden geplaatst in de kolommen die door het draaipunt worden gemaakt.

Deze transformatie heeft één invoer, één reguliere uitvoer en één foutuitvoer.

Rijen sorteren en dupliceren

Om gegevens efficiënt te roteren, wat betekent dat het aantal records in de uitvoergegevensset tot een minimum wordt beperkt, moeten de invoergegevens worden gesorteerd op de pivotkolom. Als de gegevens niet worden gesorteerd, kan de Pivot-transformatie meerdere records genereren voor elke waarde in de setsleutel. Dit is de kolom die het lidmaatschap definieert. Als een gegevensset bijvoorbeeld wordt gepivot op een kolom Naam, maar de namen niet worden gesorteerd, kan de uitvoergegevensset meer dan één rij hebben voor elke klant, omdat er telkens een draaitabel wordt gemaakt wanneer de waarde in Naam verandert.

De invoergegevens kunnen dubbele rijen bevatten, waardoor de draaitransformatie mislukt. 'Dubbele rijen' betekent rijen met dezelfde waarden in de ingestelde sleutelkolommen en de draaikolommen. Als u fouten wilt voorkomen, kunt u de transformatie configureren om foutrijen om te leiden naar een foutuitvoer of kunt u vooraf waarden aggregeren om ervoor te zorgen dat er geen dubbele rijen zijn.

Opties in het draaitabellenvenster

U configureert de draaibewerking door de opties in het dialoogvenster Draai in te stellen. Als u het dialoogvenster Draai wilt openen, voegt u de Pivot-transformatie toe aan het pakket in SQL Server Data Tools (SSDT) en klikt u met de rechtermuisknop op het onderdeel en klikt u op Bewerken.

In de volgende lijst worden de opties in het dialoogvenster Pivot beschreven.

Draaisleutel
Hiermee specificeert u de kolom die moet worden gebruikt voor waarden die over de bovenste rij (koprij) van de tabel zijn verdeeld.

Sleutel instellen
Hiermee geeft u de kolom die moet worden gebruikt voor waarden in de linkerkolom van de tabel. De invoerdatum moet worden gesorteerd op deze kolom.

Draaiwaarde
Hiermee geeft u de kolom die moet worden gebruikt voor de tabelwaarden, behalve de waarden in de veldnamenrij en de linkerkolom.

Negeer onvergelijkbare Pivot Key-waarden en rapporteer ze na uitvoering van de gegevensstroom
Selecteer deze optie om de draaitransformatie te configureren om rijen met niet-herkende waarden in de kolom Draaitabel te negeren en om alle draaitabelwaarden uit te voeren naar een logboekbericht wanneer het pakket wordt uitgevoerd.

U kunt de transformatie ook configureren om de waarden uit te voeren door de aangepaste eigenschap PassThroughUnmatchedPivotKeys in te stellen op True.

Maak draaitabeluitvoerkolommen vanuit waarden
Voer in dit vak de draaitabelsleutelwaarden in om de Pivot-transformatie te activeren die uitvoerkolommen voor elke waarde creëert. U kunt de waarden invoeren voordat u het pakket uitvoert of het volgende doen.

  1. Selecteer de optie ongeëvenaarde Pivot Key-waarden negeren en rapporteer ze na de uitvoering van Gegevensstroom en klik vervolgens op OK in het Dialoogvenster Draai om de wijzigingen in de draaitransformatie op te slaan.

  2. Voer het pakket uit.

  3. Wanneer het pakket succesvol is, klikt u op het tabblad Voortgang en zoekt u naar het informatielogbericht van de Pivot-transformatie dat de draaitabelsleutelwaarden bevat.

  4. Klik met de rechtermuisknop op het bericht en klik op Berichttekst kopiëren.

  5. Klik in het menu Foutopsporing op Debugging stoppen om over te schakelen naar de ontwerpmodus.

  6. Klik met de rechtermuisknop op de draaitransformatie en klik vervolgens op Bewerken.

  7. Schakel de optie Negeer niet-overeenkomende draaitabelsleutelwaarden en rapporteer deze na uitvoering van de gegevensstroom uit, en plak vervolgens de waarden van de draaitabelsleutel in het vak Genereer draaitabeluitvoerkolommen uit waarden met behulp van de volgende indeling.

    [waarde1],[waarde2];[waarde3]

Kolommen nu genereren
Klik hier om een uitvoerkolom te maken voor elke draaitabelwaarde die wordt vermeld in de uitvoerkolommen voor het genereren van draaitabellen van waarden .

De uitvoerkolommen worden weergegeven in het vak Bestaande gedraaide uitvoerkolommen .

Bestaande gedraaide uitvoerkolommen
Geeft een lijst weer van de uitvoerkolommen voor de draaitabelwaarden

In de volgende tabel ziet u een gegevensset voordat de gegevens op de kolom Year worden gepivot.

Jaar Productnaam Total
2004 HL Mountain Tire 1 504 884,15
2003 Binnenband voor wegbanden 35920.50
2004 Waterfles - 30 oz. 2805.00
2002 Toerband 62364.225

In de volgende tabel ziet u een gegevensset nadat de gegevens zijn gedraaid op basis van de kolom Year.

Productnaam 2002 2003 2004
HL Mountain Tire 141164.10 446297,775 1.504.884,15
Racefiets binnenband 3592.05 35920.50 89801.25
Waterfles - 30 oz. NULL NULL 2805.00
Toerband 62364.225 375051.60 1041810.00

Als u de gegevens in de kolom Year wilt draaien, zoals hierboven wordt weergegeven, worden de volgende opties ingesteld in het dialoogvenster Draai .

  • Het jaar is geselecteerd in de keuzelijst Pivot Key.

  • Productnaam is geselecteerd in de keuzelijst Set Key .

  • In de keuzelijst Pivot Value is 'Totaal' geselecteerd.

  • De volgende waarden worden ingevoerd in het vak Pivot-uitvoerkolommen genereren van waarden.

    [2002],[2003],[2004]

Configuratie van de draaitransformatie

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 :

Zie Eigenschappen van een gegevensstroomonderdeel instellen voor informatie over het instellen van de eigenschappen van dit onderdeel.

Zie ook

Unpivot-transformatie
gegevensstroom
Integration Services-transformaties