Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
Pivottransformeringen gör en normaliserad datauppsättning till en mindre normaliserad men mer kompakt version genom att pivotera indata på ett kolumnvärde. Till exempel har en normaliserad orderdatauppsättning som visar kundnamn, produkt och kvantitet som köpts vanligtvis flera rader för alla kunder som har köpt flera produkter, där varje rad för kunden visar orderinformation för en annan produkt. Genom att pivotera datauppsättningen i produktkolumnen kan pivottransformeringen mata ut en datauppsättning med en enda rad per kund. Den enskilda raden visar alla inköp av kunden, med produktnamnen som visas som kolumnnamn och den kvantitet som visas som ett värde i produktkolumnen. Eftersom inte alla kunder köper varje produkt kan många kolumner innehålla null-värden.
När en datamängd pivoteras utför indatakolumner olika roller i pivoteringsprocessen. En kolumn kan delta på följande sätt:
Kolumnen skickas oförändrad till utdata. Eftersom många indatarader bara kan resultera i en utdatarad kopierar omvandlingen endast det första indatavärdet för kolumnen.
Kolumnen fungerar som nyckeln eller delen av nyckeln som identifierar poster.
Kolumnen definierar pivoten. Värdena i den här kolumnen är associerade med kolumner i den pivoterade datamängden.
Kolumnen innehåller värden som placeras i de kolumner som pivoten skapar.
Den här omvandlingen har en ingång, en vanlig utgång och en felutgång.
Sortera och duplicera rader
Om du vill pivotera data effektivt, vilket innebär att du skapar så få poster i utdatauppsättningen som möjligt, måste indata sorteras i pivotkolumnen. Om data inte sorteras kan pivottransformeringen generera flera poster för varje värde i nyckeln för uppsättningen, vilket är kolumnen som definierar uppsättningsmedlemskap. Om en datauppsättning till exempel pivoteras i en namnkolumn men namnen inte sorteras, kan utdatauppsättningen ha mer än en rad för varje kund, eftersom en pivot inträffar varje gång värdet i Namn ändras.
Indata kan innehålla dubbletter av rader, vilket gör att pivottransformeringen misslyckas. "Duplicerade rader" innebär rader som har samma värden i de inställda nyckelkolumnerna och pivotkolumnerna. För att undvika fel kan du antingen konfigurera omvandlingen för att omdirigera felrader till ett felutdata eller så kan du föraggregera värden för att säkerställa att det inte finns några dubblettrader.
Alternativ i dialogrutan Pivot
Du konfigurerar pivotåtgärden genom att ange alternativen i dialogrutan Pivot . Öppna dialogrutan Pivot genom att lägga till pivottransformeringen i paketet i SQL Server Data Tools (SSDT) och högerklicka sedan på komponenten och klicka på Redigera.
I följande lista beskrivs alternativen i dialogrutan Pivot .
Pivot Key
Anger vilken kolumn som ska användas för värden över den översta raden (rubrikraden) i tabellen.
Ange nyckel
Anger vilken kolumn som ska användas för värden i tabellens vänstra kolumn. Indatadatumet måste sorteras i den här kolumnen.
Pivotvärde
Anger vilken kolumn som ska användas för tabellvärdena, förutom värdena i rubrikraden och den vänstra kolumnen.
Ignorera omatchade pivotnyckelvärden och rapportera dem efter DataFlow-körning
Välj det här alternativet om du vill konfigurera pivottransformeringen för att ignorera rader som innehåller okända värden i pivotnyckelkolumnen och för att mata ut alla pivotnyckelvärden till ett loggmeddelande när paketet körs.
Du kan också konfigurera omvandlingen så att värdena matas ut genom att ange den anpassade egenskapen PassThroughUnmatchedPivotKeys till True.
Generera utdata som pivottabellkolumner från värden
Ange pivotnyckelvärdena i den här rutan för att aktivera pivottransformeringen för att skapa utdatakolumner för varje värde. Du kan antingen ange värdena innan du kör paketet eller göra följande.
Välj alternativet Ignorera omatchade pivotnyckelvärden och rapportera dem efter dataflödeskörning och klicka sedan på OK i dialogrutan Pivot för att spara ändringarna i pivotomvandlingen.
Kör paketet.
När paketet lyckas klickar du på fliken Förlopp och letar efter informationsloggmeddelandet från pivottransformeringen som innehåller pivotnyckelvärdena.
Högerklicka på meddelandet och klicka på Kopiera meddelandetext.
Klicka på Stoppa felsökningpå felsökningsmenyn för att växla till designläget.
Högerklicka på pivotomvandlingen och klicka sedan på Redigera.
Avmarkera alternativet Ignorera omatchade pivotnyckelvärden och rapportera dem efter dataflödeskörning och klistra sedan in pivotnyckelvärdena i rutan Generera pivotutdatakolumner från värden med hjälp av följande format.
[value1],[value2],[value3]
Generera kolumner nu
Klicka för att skapa en utdatakolumn för varje pivot-nyckelvärde som visas i rutan Generera pivottabellutdatakolumner från värden.
Utdatakolumnerna visas i rutan Befintliga pivoterade utdatakolumner .
Befintliga pivoterade utdatakolumner
Visar en lista över utdatakolumnerna för pivotnyckelvärdena
I följande tabell visas en datauppsättning innan data pivoteras i kolumnen År .
| År | Produktnamn | Total |
|---|---|---|
| 2004 | HL Mountain Tire | 1 504 884,15 |
| 2003 | Vägdäcksrör | 35920.50 |
| 2004 | Vattenflaska - 30 oz. | 2805.00 |
| 2002 | Touringdäck | 62364.225 |
I följande tabell visas en datauppsättning efter att data har pivoterats i kolumnen År .
| Produktnamn | 2002 | 2003 | 2004 |
|---|---|---|---|
| HL Mountain Tire | 141164.10 | 446 297,775 | 1504884,15 |
| Vägdäcksrör | 3592.05 | 35920.50 | 89801.25 |
| Vattenflaska - 30 oz. | NULL | NULL | 2805.00 |
| Touringdäck | 62364.225 | 375051.60 | 1041810.00 |
Om du vill pivotera data i kolumnen Year (År ) anges följande alternativ i dialogrutan Pivot .
Året är valt i listrutan Pivotnyckel.
Produktnamn är markerat i listrutan Ange nyckel .
Total är vald i listan Pivotvärde.
Följande värden anges i rutan Generera pivottabellkolumner från värdena.
[2002],[2003],[2004]
Konfiguration av pivottransformeringen
Du kan ange egenskaper via SSIS Designer eller programmatiskt.
Om du vill ha mer information om de egenskaper som du kan ange i dialogrutan Avancerad redigerare klickar du på något av följande avsnitt:
Relaterat innehåll
Information om hur du anger egenskaperna för den här komponenten finns i Ange egenskaper för en dataflödeskomponent.
Se även
Unpivot-transformering
Dataflöde
Integreringstjänstomvandlingar