Pre dimenzie je to potrebné ušetriť na vstupe PQ Table.ReplaceValue(#"Changed Type",null,"-",Replacer.ReplaceValue,{"S1"}) repl null with "-", alebo filtrom, ktorý zrušiť zobrazenie prázdnych dimenzií.
Zadať medzeru (vo vlastnostiach kt) do poľa zobraziť prázdne podľa obrázku.
A práve preto som Vám doporučoval, aby ste hodnotu z funkcie dávali do dotazu cez premennú (lebo vyhodnotenie výrazu s funkciou nepreberie uvodzovky ako uzavretie textu).let
hodnota=Tabulka2(0),
Zdroj = Odbc.Query("DRIVER=...WHERE#(lf)ONR = " & hodnota)
in
Zdroj
Je to zlá syntax lebo má byť, type text
Poseidon napsal/a:
(x)=>
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka2"]}[Content],
#"Změněný typ" = Table.TransformColumnTypes(Zdroj,{{"Sloupec1", type text}}),
Sloupec1 = #"Změněný typ"{0}[Sloupec1]
in
Sloupec1
Dá sa aj pomocou PQ (v prílohe).
Poseidon napsal/a:
let
Zdroj = Odbc.Query("DRIVER=...(tato část kódu je OK)...WHERE#(lf)ONR = " & Tabulka2(0) "")
in
Zdroj
Funkcia hodn
(x)=>
let
Source = Excel.CurrentWorkbook(){[Name="hodn"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}),
Column1 = #"Changed Type"{0}[Column1]
in
Column1
Použitie vrátenej hodnoty v dotaze Table1
let
hodnota=hodn(0),
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"pc", Int64.Type}, {"h", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [h] = hodnota)
in
#"Filtered Rows"
Prikladám aj súbor
Použiť PQ na select je zvláštne, keď sa dokáže konektnúť aj na SQL databázu. Ten dotaz ktorý drill-ne hodnotu z bunky, je potrebné prerobiť na funkciu, ktorá vráti hodnotu. Stačí na začiatok vložiť pred riadok let (x)=> a na dosadenie premennú, ktorá vráti hodnotu funkcie tj. pred Zdroj vložiť hodnota=názov dotazu funkcie(0), a potom Zdroj=Ole("..="&hodnota)
Niečo podobné som tu komplexne riešil http://wall.cz/index.php?m=topic&id=43500#post-43509. Výstup z PQ nemusí byť tabuľka, ale kontingenčná tabuľka a tým obídete obmedzenie 1M riadkov. Všetko je potom obmedzené pamäťou PC a podmienené 64b verziou MSE.
Power Pivot nie je súčasťou Vášho Officu. Je v Prof, E3, E4, 365 a od 2016, alebo 2019 bude vo všetkých verziach, podobne aj PQ je od 2016 už súčasťou. Mimo toho to v mojom riešení nepotrebujete. 32b verzia Officu je (žiaľ) predvolená pri inštalácii a nedokáže využívať viacej ako 4G pamäti PC, aj keď je jej v PC viacej. 64b (treba pri inštalácii cielene vybrať) je rádovo úplne inde neviem či Tera, alebo PetaB. Použitie PQ nie je zložité. Stačí zmeniť údaje na vstupe (u Vás sú to tie dve tabuľky) a z ponuky Údaje dať aktualizovať všetko+kt.
Nepozeral som Vaše riešenie. Power Query je doplnok pre Excel (voľne stiahnuteľný [od MS] od verzie 2010 a od v 2016 je už obsiahnutý). Power Pivot je z tohoto pohľadu nepotrebný pre dátum z účt. obdobia sa dá urobiť hierarchia pomocou Excelu (vyniesť dátum a dať zoskupiť).
PQ to spojí a rovno poskytne do KT.
Riešení môže byť skutočne viacej (spojiť text odstavca=odseku do jednej [zalomenej] bunky, vložiť zlom/y strán, rozdeliť dokument na viac listov, automatická úprava merítka na výšku jedného listu, naprogramovaná zmena oblasti tlače, alebo hromadná korešpondencia), tak ako aj problémov s dokumentom (zle použitá hlavička/päta, moc variabilná tabuľka tj. počet riadkov, viacej textový než počítaný dokument, potreba zmien orientácie listu, atď. Preto bez prílohy, Vám problém ťažko dakto pomôže vyriešiť.
Prikladám ďalší príspevok s PQ. Tento raz je to dohľadanie jednotkovej ceny a výpočet hodnoty pomocou Merge a výpočet Hodnoty po zľave podľa dohľadania predaného množstva (VLOOKUP) a aplikáciou príslušnej zľavy. Video = postup vytvorenia je v mojom príspevku na fb https://www.facebook.com/MePExG.sk/videos/716805408810413/.
Nemyslel som to tak.
- prvé makro nie je potrebné, lebo stačí nastaviť vlastnosť PQ (koncového) dotazu [pravé tlačidlo myši na dotaz], podľa priloženého obrázku
- druhé makro vyneste (bez aktualizácie) na spustenie napr. na tlačidlo
* priložné makro je len pre prípad, ak chcete mať možnosť aktualizovať PQ pomocou programu (žiaľ doposiaľ som nenašiel postup ako (aktualizáciu PQ) programovo otestovať aby následne mohla bežať ďalšia časť kódu, lebo VBA nečaká na PQ.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.