Stránka 1 z 1

Aktualizace zdroje pro PQ

Napsal: 04 zář 2020 08:52
od Petr__
Zdravím,

prosím o radu. Mám rozdělený dotazy PowerQuery na více listů v Excelu, do všech tabulek tahám data z totožného zdroje. Při změně zdroje však musím projít všechny dotazy a měnit ho manuálně. Je možné proces nějak automatizovat?
Díky za každou radu.

Re: Aktualizace zdroje pro PQ

Napsal: 04 zář 2020 14:51
od lubo.
Nevím co je "automatizovat". Předpokládám, že se zdroj má měnit jen na jednom místě.
Nevím ani, co je to za zdroj. Tak obecný postup.

Vyrob si dotaz, který načte zmíněný zdroj, může také obsahovat společné transformace. Pak na něj klikni pravým tlačátkem a vyber odkaz. Proveď to tolikrát, kolik potřebuješ vyplnit tabulek.
Dokonči vygenerované dotazy a načti je do správných listů.

Pak stačí při změně zdroje upravit jen ten základní.

V závislosti na typu zdroje lze použít provozně jednodušší techniky (parametry, funkce, ...).

Pokud se má kopírovat stejná tabulka na více listů, lze tabulku načíst třeba do datového modelu a pak kopii tabulky načítat na samostatné listy - data/existující připojení, stačí vybrat a načíst.

Re: Aktualizace zdroje pro PQ

Napsal: 04 zář 2020 21:19
od MePExG
Dobrý deň. Prikláňam sa k riešeniu, ktoré Vám napísal lubo. Ovšem ešte sú tu dve ďalšie možnosti. V MSE nadefinovať do bunky cestu a z tejto bunky ju (cestu) pomocou PQ vybrať do základného dotazu (resp. použiť f-ciu CELL a cestu k súboru), alebo pre všetky dotazy vo vlastnostiach dotazov PQ prestaviť cestu naraz. ... a ešte je tu jedna možnosť pomocou PQ načítavať (súbory z adresára) nejakú základnú cestu (môže byť len disk) a po nájdení identifikácie súboru (dá sa použiť aj filter pre rovnomenný súbor/y) podľa posledného=najväčšieho dátumu modifikácie použiť na načítanie príslušný súbor.

Re: Aktualizace zdroje pro PQ

Napsal: 07 zář 2020 09:00
od Petr__
Zdroj je sešit Excelu, xlsx. Automatizovat ve smyslu, že pokud chci změnit zdroj pro dotazy v PQ, musím každý dotaz otevřít a změnit zdroj manuálně, takže jsem chtěl nějak ulehčit proces. Každý dotaz, generovanou tabulku, mám na jiném listě, ale zdrojový soubor je v daný moment jen jeden, ze kterého tahám data do dotazů a z dotazů do tabulek. Něco, co by prošlo jednotlivé dotazy a hromadně by se jim změnil zadaný zdroj a data v tabulkách by se aktualizovaly.
Dejme tomu, že mám pět dotazů, kterými zpracovávám pět tabulek na pěti listech. Data tahám z jednoho zdroje(sešit), který ale měním.
Představa by byla: Někam zadám nový zdroj (Nový.xlsx) -> nový zdroj se propíše do všech dotazů -> proběhne aktualizace tabulek podle dotazů s nově zadaným zdrojem, tedy dotazy pracují s daty z nového zdroje -> mám výsledné tabulky zpracované z nového zdrojového souboru.
Díky.

Re: Aktualizace zdroje pro PQ

Napsal: 07 zář 2020 12:50
od lubo.
Aha,

tak např.

vytvoř někde v sešitu pojmenovanou buňku, do které vepíšeš svůj "Nový.xlsx"

Klikni na tuto buňku, vyber Data/Z tabulky nebo oblasti.

Ve vygenerovaném dotazu smaž automaticky vložené transformace, pravý klik na buňku se jménem a vyber procházet hiearchii.
měl bys dostat něco takového:

Kód: Vybrat vše

let
    Zdroj = Excel.CurrentWorkbook(){[Name="sešit"]}[Content],
    Column1 = Zdroj{0}[Column1]
in
    Column1


Vygenerovaný dotaz nějak vhodně pojmenuj (Např. NovýSešit).

Jméno tohoto dotazu pak v dotazech použiješ místo nyní používaného jména sešitu.

Jako obvykle v excelu, existuje řada dalších možností.

ps. Proč tak miluješ obecné dotazy?

Re: Aktualizace zdroje pro PQ

Napsal: 09 zář 2020 06:45
od Petr__
Pro ujasnění:
V buňce by měla být cesta k "Nový.xlsx"?
"Jméno tohoto dotazu pak v dotazech použiješ místo nyní používaného jména sešitu." -> Zdroj pro PQ mapovat na dotaz?
Díky.

Re: Aktualizace zdroje pro PQ  Vyřešeno

Napsal: 09 zář 2020 14:08
od lubo.
Pokud se načítá sešit je cesta vyžadována, nějak se tedy do dotazu musí dostat.

Tj. může být v buňce se jménem souboru, lze cestu zadat do jedné buňky, jméno do druhé a načíst obě části samostatně, ...

Je možné mít cestu přímo v dotazu (já to zpravidla nedělám) a jméno souboru k ní připojit, je možné cestu cestu odvodit od umístění sešitu s dotazem, např:

=ZLEVA(POLÍČKO("filename";A1);NAJÍT("[";POLÍČKO("filename";A1);1)-1)

...

Re: Aktualizace zdroje pro PQ

Napsal: 14 zář 2020 09:47
od Petr__
Ok, díky moc, s tím už si poradím. Mohl bys prosím tě kouknout do soukromých zpráv? Mám ještě jeden dotaz k předchozímu uzavřenému tématu. Díky.