Transformace pivot při mapování toku dat

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Toky dat jsou k dispozici v kanálech Azure Data Factory i v kanálech Azure Synapse Analytics. Tento článek se týká mapování toků dat. Pokud s transformacemi začínáte, přečtěte si úvodní článek Transformace dat pomocí mapování toků dat.

Tip

Ekvivalentní transformaci (kontingenční sloupec) v toku dat Gen2 najdete v průvodci tokem dat Gen2 pro mapování uživatelů toku dat.

Pomocí převodové transformace můžete vytvořit více sloupců z jedinečných hodnot jednoho sloupce. Pivot je transformace agregace, ve které vyberete seskupení podle sloupců a vygenerujete kontingenční sloupce pomocí agregačních funkcí.

Konfigurace

Transformace kontingenční tabulky vyžaduje tři různé vstupy: seskupení podle sloupců, klíč kontingenční tabulky a způsob generování kontingenčních sloupců.

Seskupit podle

Možnosti pro seskupení

Vyberte sloupce, na kterých chcete provést agregaci otočených sloupců. Výstupní data seskupí všechny řádky se stejnou skupinou podle hodnot do jednoho řádku. Agregace provedená v kontingenčním sloupci probíhá v každé skupině.

Tato část je nepovinná. Pokud nejsou vybrány žádné seskupení podle sloupců, celý datový proud se agreguje a výstupem je pouze jeden řádek.

Otočný klíč

Pivotní klíč

Pivot key je sloupec, jehož hodnoty řádků se přetáhly do nových sloupců. Pivotní transformace ve výchozím nastavení vytvoří nový sloupec pro každou jedinečnou hodnotu řádku.

V oddílu s popiskem Hodnota můžete zadat konkrétní hodnoty řádků, které se mají převést. Pouze kontingenční hodnoty řádků zadané v této sekci jsou kontingovány. Povolení hodnoty Null vytvoří kontingenční sloupec pro hodnoty null ve sloupci.

Otočené sloupce

Otočené sloupce

Pro každou jedinečnou hodnotu klíče, která je transformována na sloupec, vygenerujte pro každou skupinu agregovanou hodnotu řádku. Na kontingenční klíč můžete vytvořit více sloupců. Každý kontingenční sloupec musí obsahovat aspoň jednu agregační funkci.

Vzor názvu sloupce: Vyberte, jak formátovat název sloupce každého kontingenčního sloupce. Název zobrazeného sloupce je kombinací hodnoty pivotního klíče, předpony sloupce a volitelné předpony, přípony nebo prostředních znaků.

Uspořádání sloupců: Pokud pro kontingenční klíč vygenerujete více než jeden sloupec, zvolte, jak chcete sloupce uspořádat.

Předpona sloupce: Pokud pro každý klíč kontingenční tabulky vygenerujete více než jeden kontingenční sloupec, zadejte předponu sloupce pro každý sloupec. Toto nastavení je volitelné, pokud máte jenom jeden kontingenční sloupec.

Obrázek nápovědy

Obrázek nápovědy ukazuje, jak různé kontingenční komponenty vzájemně spolupracují.

Grafika nápovědy pro kontingenční grafy

Metadata kontingenční tabulky

Pokud nejsou v konfiguraci kontingenčního klíče zadány žádné hodnoty, kontingenční sloupce se dynamicky generují za běhu. Počet kontingenčních sloupců se rovná počtu jedinečných hodnot klíče kontingenční tabulky vynásobené počtem kontingenčních sloupců. Vzhledem k tomu, že se jedná o měnící se číslo, uživatelské rozhraní nezobrazuje metadata sloupců na kartě Kontrola a nepropagují se žádné sloupce. Pro transformaci těchto sloupců využijte funkce vzoru sloupců v mapování datového toku.

Pokud jsou nastavené konkrétní hodnoty kontingenčních klíčů, zobrazí se v metadatech kontingenční sloupce. Názvy sloupců jsou k dispozici v mapování Inspect a Sink.

Generování metadat z posunovaných sloupců

Pivot dynamicky generuje nové názvy sloupců na základě hodnot řádků. Tyto nové sloupce můžete přidat do metadat, na která můžete později v toku dat odkazovat. K tomu použijte quick action posunutá mapa v náhledu dat.

Přesunout sloupce

Zapouštění otočných sloupců

I když jsou kontingenční sloupce dynamické, dají se pořád zapsat do cílového úložiště dat. Povolte v nastavení jímky odchylku schématu. To vám umožní psát sloupce, které nejsou zahrnuté v metadatech. V metadatech sloupců neuvidíte nové dynamické názvy, ale možnost přizpůsobení schématu umožňuje správné začlenění dat.

Připojte se znovu k původním polím

Transformace kontingenční tabulky projektuje skupinu pouze podle sloupců a kontingenčních sloupců. Pokud chcete, aby výstupní data obsahovala další vstupní sloupce, použijte vzor samospojování .

Skript toku dat

Syntaxe

<incomingStreamName>
    pivot(groupBy(Tm),
        pivotBy(<pivotKeyColumn, [<specifiedColumnName1>,...,<specifiedColumnNameN>]),
        <pivotColumnPrefix> = <pivotedColumnValue>,
        columnNaming: '< prefix >< $N | $V ><middle >< $N | $V >< suffix >',
        lateral: { 'true' | 'false'}
    ) ~> <pivotTransformationName

Příklad

Obrazovky zobrazené v části konfigurace mají následující skript toku dat:

BasketballPlayerStats pivot(groupBy(Tm),
    pivotBy(Pos),
    {} = count(),
    columnNaming: '$V$N count',
    lateral: true) ~> PivotExample

Zkuste transformaci unpivot pro převod hodnot sloupců na hodnoty řádků.