Tento článek je o tom, jak pomocí Power Query natáhnout obsah všech soubor umístěných ve složce, kterou uživatel zadá do buňky v listu. 

Zní to krkolomně, ale je to docela praktické. Tímto umožníme uživateli, aby si vybral, ze které složky se budou pomocí dotazu soubory stahovat, a přitom vůbec nemusí pracovat s Power Query.

Začneme tím, že vytvoříme tabulku. V tabulce bude jeden sloupec a jeden řádek. Tabulku i sloupec nějak pojmenujeme (já jsem použil velmi kreativní názvy “MyTable” a “MyColumn”) a do jediné buňky s obsahem vložíme cestu ke složce, ze které se mají soubory brát.

 

Pak vytvoříme nový dotaz, který bude zobrazovat seznam souborů ve složce. Můžete ho samozřejmě jen nakopírovat do rozšířeného editoru (a případně změnit názvy tabulky a sloupce).

let
 table_with_source = Excel.CurrentWorkbook(){[Name="MyTable"]}[Content],
 column_with_source = Table.Column(table_with_source , "MyColumn"),
 MyFolder = List.First(column_with_source), 
 Source = Folder.Files(Text.From(MyFolder )),
 #"Added Custom" = Table.AddColumn(Source, "Custom", each MyFunction([Folder Path]&[Name]))
in
 #"Added Custom"

Výstupem dotazu pak bude seznam souborů ze složky, např. toto:

Teď je třeba vytvořit funkci, která nad každým souborem provede to, že z něj vytáhne data:

Můžeme jít do editoru nového dotazu a vložit tam toto:

 

Tím se z dotazu udělá funkce.

 

Dát celé ke stažení

1 Komentář

  1. Dobrý den, v článku chybí ukázky kódu a obrázky. To je záměr, nebo chyba?

Komentáře není možné přidávat