Sdílet prostřednictvím


Převedení sloupců na řádky

V Power Query můžete sloupce transformovat na páry atribut-hodnota, kde se sloupce stanou řádky.

Převést diagram sloupců na řádky

Diagram znázorňující tabulku vlevo s prázdným sloupcem a řádky a hodnotami Atributy A1, A2 a A3 jako záhlaví sloupců Sloupec A1 obsahuje hodnoty V1, V4 a V7, sloupec A2 obsahuje hodnoty V2, V5 a V8 a sloupec A3 obsahuje hodnoty V3, V6 a V9. Tabulka napravo od diagramu obsahuje prázdný sloupec a řádky, sloupec Atributy s devíti řádky a třikrát opakovanými sloupci A1, A2 a A3 a sloupec Hodnoty s hodnotami V1 až V9.

Například vzhledem k následující tabulce, kde řádky země a sloupce kalendářních dat vytvářejí matici hodnot, je obtížné analyzovat data škálovatelným způsobem.

Převést sloupce na řádky s úvodní tabulkou

Tabulka obsahující sloupec Země nastavený v datovém typu Text a 1. 6. 2020, 1. 7. 2020 a 1. 8. 2020 nastavené jako datový typ Kdo le číslování Sloupec Země obsahuje USA v řádku 1, Kanadě na řádku 2 a Panamě na řádku 3.

Místo toho můžete tabulku transformovat na tabulku s nepřekontovanými sloupci, jak je znázorněno na následujícím obrázku. V transformované tabulce je jednodušší použít datum jako atribut k filtrování.

Převést sloupce na řádky s ukázkovou gólovou tabulkou

Tabulka obsahující sloupec Země nastavený jako datový typ Text, sloupec Atribut nastavený jako datový typ Text a sloupec Hodnota nastavený jako datový typ Kdo le číslování. Sloupec Země obsahuje USA v prvních třech řádcích, Kanadu v dalších třech řádcích a Panamě v posledních třech řádcích. Sloupec Atribut obsahuje 1. 6. 2020 v prvním, čtvrtém a sedmém řádku, 1. 7. 2020 ve druhém, pátém a osmém řádku a 8.1.2020 ve třetím, šestém a devátém řádku.

Klíčem v této transformaci je, že máte v tabulce sadu kalendářních dat, která by měla být všechna součástí jednoho sloupce. Odpovídající hodnota pro každé datum a zemi by měla být v jiném sloupci a efektivně vytvořit dvojici atribut-hodnota.

Power Query vždy vytvoří dvojici atribut-hodnota pomocí dvou sloupců:

  • Atribut: Název záhlaví sloupců, které byly převedeny na řádky.
  • Hodnota: Hodnoty, které byly pod jednotlivými záhlavími nepředkonaného sloupce.

V uživatelském rozhraní je několik míst, kde můžete najít sloupce Převést na řádky. Můžete kliknout pravým tlačítkem myši na sloupce, které chcete převést na řádky, nebo můžete vybrat příkaz na kartě Transformace na pásu karet.

Kliknutím pravým tlačítkem myši zrušíte převést sloupce na řádky.

Příkaz Převést sloupce na příkaz Převést na kartu Transformace

Existují tři způsoby, jak převést sloupce z tabulky na řádky:

  • Převést sloupce na řádky
  • Převést další sloupce na řádky
  • Převést jenom vybrané sloupce na řádky

Převedení sloupců na řádky

V případě výše popsaného scénáře je nejprve potřeba vybrat sloupce, které chcete převést na řádky. Stisknutou klávesu Ctrl můžete vybrat tolik sloupců, kolik potřebujete. V tomto scénáři chcete vybrat všechny sloupce s výjimkou sloupce s názvem Země. Po výběru sloupců klikněte pravým tlačítkem na některý z vybraných sloupců a pak vyberte Převést sloupce na řádky.

Tabulka s vybranými sloupci 1. 6. 2020, 1. 7. 2020 a 1. 8. 2020 a příkazem Převést sloupce na řádky vybrané v místní nabídce

Výsledek této operace vrátí výsledek zobrazený na následujícím obrázku.

Převést sloupce do konečné tabulky

Tabulka obsahující sloupec Země nastavený jako datový typ Text, sloupec Atribut nastavený jako datový typ Text a sloupec Hodnota nastavený jako datový typ Kdo le číslování. Sloupec Země obsahuje USA v prvních třech řádcích, Kanadu v dalších třech řádcích a Panamě v posledních třech řádcích. Sloupec Atribut obsahuje 1. 6. 2020 v prvním, čtvrtém a sedmém řádku, 1. 7. 2020 ve druhém, pátém a osmém řádku a 8.1.2020 ve třetím, šestém a devátém řádku. Položka Převést sloupce na řádky je navíc zvýrazněná v podokně Nastavení dotazu a kód jazyka M se zobrazí na řádku vzorců.

Speciální předpoklady

Po vytvoření dotazu z výše uvedených kroků si představte, že se vaše počáteční tabulka aktualizuje tak, aby vypadala jako na následujícím snímku obrazovky.

Převést sloupce na řádky aktualizované zdrojová tabulka

Tabulka se stejnými původními sloupci Země, 1. 6. 2020, 1. 7. 2020 a 1. 8. 2020 s přidáním sloupce 1. 9. 2020 Sloupec Country (Země) stále obsahuje hodnoty USA, Kanady a Panamy, ale také spojené království přidáno do čtvrtého řádku a Mexiko přidáno do pátého řádku.

Všimněte si, že jste přidali nový sloupec pro datum 1. 9. 2020 (1. září 2020) a dva nové řádky pro země/oblasti Uk a Mexiko.

Pokud aktualizujete dotaz, všimnete si, že se operace provede v aktualizovaném sloupci, ale nebude mít vliv na sloupec, který nebyl původně vybrán (v tomto příkladu země). To znamená, že každý nový sloupec přidaný do zdrojové tabulky se také nepřekončí.

Následující obrázek ukazuje, jak bude váš dotaz vypadat po aktualizaci s novou aktualizovanou zdrojovou tabulkou.

Převést sloupce na řádky konečné aktualizované tabulky

Tabulka se sloupci Země, Atribut a Hodnota První čtyři řádky sloupce Země obsahují USA, druhý čtyři řádky obsahuje Kanadu, třetí čtyři řádky obsahují Panamu, čtvrtý čtyři řádky obsahuje Spojené království a páté čtyři řádky obsahují Mexiko. Sloupec Atribut obsahuje 1. 6. 2020, 1. 7. 2020, 1. 8. 2020 a 1. 9. 2020 v prvních čtyřech řádcích, které se opakují pro každou zemi.

Převést další sloupce na řádky

Můžete také vybrat sloupce, které nechcete převést na řádky a převést na řádky ostatních sloupců v tabulce. Tato operace spočívá v tom, že se přehrávají další sloupce, které přejdou na řádky .

Tabulka s vybranou místní nabídkou Country column (Země) a příkaz Unpivot other columns (Převést ostatní sloupce) v nabídce se zvýrazní.

Výsledkem této operace bude přesně stejný výsledek jako výsledek, který jste získali ze sloupců Převést na řádky.

Převést další sloupce na ukázkovou gólovou tabulku

Tabulka obsahující sloupec Země nastavený jako datový typ Text, sloupec Atribut nastavený jako datový typ Text a sloupec Hodnota nastavený jako datový typ Kdo le číslování. Sloupec Země obsahuje USA v prvních třech řádcích, Kanadu v dalších třech řádcích a Panamě v posledních třech řádcích. Sloupec Atribut obsahuje 1. 6. 2020 v prvním, čtvrtém a sedmém řádku, 1. 7. 2020 ve druhém, pátém a osmém řádku a 8.1.2020 ve třetím, šestém a devátém řádku.

Poznámka:

Tato transformace je zásadní pro dotazy, které mají neznámý počet sloupců. Operace zruší převést všechny sloupce z tabulky s výjimkou sloupců, které jste vybrali. Toto je ideální řešení, pokud zdroj dat ve vašem scénáři získal nové sloupce kalendářních dat v aktualizaci, protože ty se vyberou a nepřevedou na řádky.

Speciální předpoklady

Podobně jako při operaci Převést sloupce na řádky, pokud se dotaz aktualizuje a ze zdroje dat se vybere další data, všechny sloupce budou nepřekontované s výjimkou těch, které byly dříve vybrány.

Chcete-li to ilustrovat, řekněme, že máte novou tabulku, jako je ta na následujícím obrázku.

Ukázka převést zdrojovou tabulku na řádky

Tabulka se sloupci Země, 1. 6. 2020, 1. 7. 2020, 1. 8. 2020 a 1. 9. 2020 se všemi sloupci nastavenými na datový typ Text Sloupec Země obsahuje odshora dolů, USA, Kanadu, Panamu, Spojené království a Mexiko.

Můžete vybrat sloupec Země a pak vybrat Převést další sloupec, který vrátí následující výsledek.

Ukázka převést další sloupce na řádky aktualizované konečné tabulky

Tabulka se sloupci Země, Atribut a Hodnota Sloupce Země a Atribut jsou nastaveny na datový typ Text. Sloupec Hodnota je nastaven na datový typ Kdo le hodnoty. První čtyři řádky sloupce Země obsahují USA, druhý čtyři řádky obsahují Kanadu, třetí čtyři řádky obsahují Panamu, čtvrtý čtyři řádky obsahuje Spojené království a páté čtyři řádky obsahují Mexiko. Sloupec Atribut obsahuje 1. 6. 2020, 1. 7. 2020, 1. 8. 2020 a 1. 9. 2020 v prvních čtyřech řádcích, které se opakují pro každou zemi.

Převést jenom vybrané sloupce na řádky

Účelem této poslední možnosti je oddělit jenom určité sloupce z tabulky. To je důležité pro scénáře, ve kterých pracujete s neznámým počtem sloupců ze zdroje dat a chcete vybrané sloupce jenom převést na řádky.

Chcete-li provést tuto operaci, vyberte sloupce, které chcete převést na řádky, které jsou v tomto příkladu všechny sloupce kromě sloupce Země . Potom klikněte pravým tlačítkem myši na libovolný z vybraných sloupců a pak vyberte Převést pouze vybrané sloupce na řádky.

Tabulka s vybranými sloupci 1. 6. 2020, 1. 7. 2020 a 1. 8. 2020 a místní nabídka s důrazem na vybrané sloupce Typu převést pouze na řádky.

Všimněte si, jak bude tato operace poskytovat stejný výstup jako předchozí příklady.

Převést jenom vybrané sloupce do konečné tabulky

Tabulka obsahující sloupec Země nastavený jako datový typ Text, sloupec Atribut nastavený jako datový typ Text a sloupec Hodnota nastavený jako datový typ Kdo le číslování. Sloupec Země obsahuje USA v prvních třech řádcích, Kanadu v dalších třech řádcích a Panamě v posledních třech řádcích. Sloupec Atribut obsahuje 1. 6. 2020 v prvním, čtvrtém a sedmém řádku, 1. 7. 2020 ve druhém, pátém a osmém řádku a 8.1.2020 ve třetím, šestém a devátém řádku.

Speciální předpoklady

Pokud se po aktualizaci změní zdrojová tabulka tak, aby měla nový sloupec 1. 9. 2020 a nové řádky pro Spojené království a Mexiko, výstup dotazu se bude lišit od předchozích příkladů. Řekněme, že se naše zdrojová tabulka po aktualizaci změní na tabulku na následujícím obrázku.

Převést aktualizovanou zdrojnou tabulku na řádky.

Výstup našeho dotazu bude vypadat jako na následujícím obrázku.

Převést jenom vybrané sloupce aktualizovány konečné tabulky.

Vypadá to takto, protože operace převést na řádky byla použita pouze na 1. 6. 2020, 1. 7. 2020 a 1. 8. 2020 , takže sloupec se záhlavím 9. 1. 2020 zůstane beze změny.