Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
SSIS Integration Runtime ve službě Azure Data Factory
Transformace typu pivot upraví normalizovanou datovou sadu na méně normalizovanou, ale kompaktnější verzi tím, že otočí vstupní data podle hodnoty sloupce. Například normalizovaná datová sada Objednávek , která uvádí název zákazníka, produkt a množství zakoupeného zboží, obvykle obsahuje více řádků pro každého zákazníka, který zakoupil více produktů, přičemž každý řádek pro daného zákazníka zobrazuje podrobnosti objednávky pro jiný produkt. Při otáčení datové sady podle sloupce produktu může transformace pivotu vytvořit datovou sadu s jedním řádkem na zákazníka. Tento jeden řádek obsahuje seznam všech nákupů zákazníka s názvy produktů zobrazenými jako názvy sloupců a množství zobrazené jako hodnota ve sloupci produktu. Protože ne každý zákazník nakupuje každý produkt, může mnoho sloupců obsahovat hodnoty null.
Když je datová sada otočena, vstupní sloupce při procesu pivotování plní různé role. Sloupec se může účastnit následujícími způsoby:
Sloupec je předán do výstupu beze změny. Vzhledem k tomu, že mnoho vstupních řádků může mít za následek pouze jeden výstupní řádek, transformace zkopíruje pouze první vstupní hodnotu sloupce.
Sloupec funguje jako klíč nebo část klíče, která identifikuje sadu záznamů.
Sloupec definuje otočný bod. Hodnoty v tomto sloupci jsou přidružené ke sloupcům v kontingenční datové sadě.
Sloupec obsahuje hodnoty umístěné ve sloupcích vytvořených kontingenční tabulkou.
Tato transformace má jeden vstup, jeden běžný výstup a jeden chybový výstup.
Řazení a duplikování řádků
Pokud chcete efektivně použít kontingenční tabulku, což znamená vytvořit co nejméně záznamů ve výstupní datové sadě, je nutné vstupní data seřadit podle pivotního sloupce. Pokud data nejsou seřazená, je možné, že transformace typu Pivot vygeneruje více záznamů pro každou hodnotu v klíči sady, což je sloupec, který definuje členství v sadě. Například pokud je datová sada přetočena na sloupec Název, ale názvy nejsou seřazené, může mít výstup více než jeden řádek pro každého zákazníka, protože k přenastavení dojde pokaždé, když se hodnota ve sloupci Název změní.
Vstupní data můžou obsahovat duplicitní řádky, což způsobí selhání transformace kontingenční tabulky. "Duplicitní řádky" znamená řádky, které mají stejné hodnoty v určených klíčových sloupcích a kontingenčních sloupcích. Abyste se vyhnuli selhání, můžete buď nakonfigurovat transformaci tak, aby přesměrovává řádky chyb do výstupu chyby, nebo můžete předem agregovat hodnoty, abyste zajistili, že neexistují žádné duplicitní řádky.
Možnosti v dialogovém okně Kontingenční tabulka
Operaci pivot nakonfigurujete nastavením možností v dialogovém okně Pivot. Pokud chcete otevřít dialogové okno Kontingenční tabulka, přidejte transformaci kontingenční tabulky do balíčku v nástrojích SQL Server Data Tools (SSDT), a potom klikněte pravým tlačítkem myši na komponentu a klikněte na Upravit.
Následující seznam popisuje možnosti v dialogovém okně Kontingenční tabulka.
Pivot Key
Určuje sloupec, který se má použít pro hodnoty v horním řádku (řádku záhlaví) tabulky.
Nastavit klíč
Určuje sloupec, který se má použít pro hodnoty v levém sloupci tabulky. Vstupní datum musí být seřazeno v tomto sloupci.
Pivotní hodnota
Určuje sloupec, který se má použít pro hodnoty tabulky, kromě hodnot v řádku záhlaví a levém sloupci.
Ignorovat neodpovídající hodnoty kontingenčního klíče a hlásit je po spuštění toku dat
Tuto možnost vyberte, pokud chcete nakonfigurovat transformaci kontingenční tabulky tak, aby ignorovala řádky obsahující nerozpoznané hodnoty ve sloupci klíč kontingenční tabulky a aby se všechny hodnoty klíče kontingenční tabulky zobrazily do zprávy protokolu při spuštění balíčku.
Můžete také nakonfigurovat transformaci tak, aby výstup hodnot byl nastavením vlastní vlastnosti PassThroughUnmatchedPivotKeys na hodnotu True.
Generovat výstupní sloupce pivotu z hodnot
Do tohoto pole zadejte hodnoty klíče Pivot, aby transformace Pivot vytvořila výstupní sloupce pro každou hodnotu. Můžete zadat hodnoty před spuštěním balíčku nebo provést následující akce.
Vyberte možnost Ignorovat neodpovídající hodnoty kontingenčního klíče a nahlásit je po spuštění DataFlow, a poté klikněte na OK v dialogovém okně Kontingenční pro uložení změn do kontingenční transformace.
Spusťte balíček.
Po úspěšném dokončení balíčku klikněte na kartu Průběh a vyhledejte informační zprávu transformace pivotu, která obsahuje hodnoty pivot klíčů.
Klikněte pravým tlačítkem myši na zprávu a klikněte na Kopírovat text zprávy.
Chcete-li přepnout do režimu návrhu, klepněte na tlačítko Zastavit ladění v nabídce Ladění .
Klikněte pravým tlačítkem myši na transformaci pivotu a potom klikněte na Upravit.
Zrušte zaškrtnutí políčka Ignorovat neodpovídající hodnoty kontingenčního klíče a nahlašujte je po provedení toku dat a vložte hodnoty klíče kontingenční tabulky do pole Generovat výstupní sloupce kontingenční tabulky z hodnot pomocí následujícího formátu.
[hodnota1],[hodnota2],[hodnota3]
Vygenerovat sloupce
Kliknutím vytvoříte výstupní sloupec pro každou hodnotu klíče kontingenční tabulky, která je uvedená v poli Generovat výstupní sloupce kontingenční tabulky z hodnot .
Výstupní sloupce se zobrazí v poli Existující pivotované výstupní sloupce.
Existující kontingenční výstupní sloupce
Zobrazí seznam výstupních sloupců pro hodnoty kontingenčního klíče.
Následující tabulka ukazuje datovou sadu před tím, než se data přetáčí na sloupec Rok .
| Rok | Název produktu | Total |
|---|---|---|
| 2004 | HL Mountain Tire | 1.504.884,15 |
| 2003 | Road Tire Tube | 35920.50 |
| 2004 | Láhev vody - 30 oz. | 2805.00 |
| 2002 | Cestovní pneumatika | 62364.225 |
Následující tabulka ukazuje datovou sadu po kontingenční úpravě sloupce Rok.
| Název produktu | 2002 | 2003 | 2004 |
|---|---|---|---|
| HL Mountain Tire | 141164.10 | 446297.775 | 1 504 884,15 |
| Road Tire Tube | 3592.05 | 35920.50 | 89 801,25 |
| Láhev vody - 30 oz. | prázdný | prázdný | 2805.00 |
| Touringová pneumatika | 62364.225 | 375051.60 | 1041810.00 |
Pokud chcete data převést na sloupec Rok , jak je znázorněno výše, jsou v dialogovém okně Pivot nastaveny následující možnosti.
V seznamu Pivot Key je vybraný rok.
V seznamu Nastavit klíč je vybraný název produktu.
V seznamu Hodnot kontingenční tabulky je vybraná možnost Součet.
Následující hodnoty jsou zadány do pole Generovat výstupní sloupce kontingenční tabulky z hodnot .
[2002],[2003],[2004]
Konfigurace pivotní transformace
Vlastnosti můžete nastavit prostřednictvím návrháře SSIS nebo programově.
Další informace o vlastnostech, které můžete nastavit v dialogovém okně Rozšířený editor , klikněte na jedno z následujících témat:
Související obsah
Informace o tom, jak nastavit vlastnosti této komponenty, naleznete v tématu Nastavení vlastností komponenty toku dat.
Viz také
Unpivot transformace
toku dat
Transformace integračních služeb