WWW pro školy
Jak na Office - tutoriály, video návody











Vytvoř si párové triko

Poradna - Power Query - Podmíněný filtr období

hlavní kategorie | zpět | + odpovědět na toto téma
Power Query - Podmíněný filtr období - diskuze na toto téma
Př: 2 tabulky, Tab 1 obsahuje hodnoty s obdobím do 26.11, v Tab 2 jsou hodnoty řekněme k 28.11. Jakým způsobem lze omezit období v Tab 2 dle Tab 1, tedy k 26.11? Ideálně bych toto potřeboval vyřešit v prostředí PQ, popřípadě v Power Pivotu. Díky

pepe74287 | 2.12.2016 18:58  
 
 
V PQ: Merge queries, jako prvni dejte Tab1, jako druhou Tab2 a Left Outer.
Odpověď
Jan Kessler | 5.12.2016 10:42  
 
 
Díky, nicméně toto řešení není pro tento případ OK. Data z Tab2 se musí sloučit i v případě, že v Tab1 nejsou data -> např. potřebuji připojit záznam z 1.11 i přesto, že v Tab1 záznam chybí. Jediné omezení by tak mělo být pouze pro konec datumové řady, které určuje Tab1 (mám-li záznam do 26.11 v Tab1, vezmi data z Tab 2 také do 26.11).
Odpověď
MePExG | 8.12.2016 10:14  
 
 
Skúsil som vytvoriť príklad riešenia v prílohe. Zdrojové tabuľky aj s výsledkom sú na prvom liste.
Odpověď
MePExG | 8.12.2016 10:55  
 
 
K prvej tabuľke som použil append druhej už odfiltrovanej. Ak v skutočnosti potrebujete merge, tak si tento krok upravte podľa potreby.
Odpověď
Jan Kessler | 8.12.2016 12:40  
 
 
Díky, vypadá to funkčně. Mohl byste mi prosím ještě popsat poslední krok v dotazu "Table 2" -> Jak nastavit maximální datum z dotazu "MaxDat"? Jedná se o ručně napsaný vzorec nebo to lze naklikat přímo v PQ? Jsem začátečník, prosím tedy o co nejednodušší možný postup. Díky
Odpověď
MePExG | 8.12.2016 13:29  
 
 
Neviem či sa to dá naklikať (pokiaľ viem dá sa to docieliť iba editáciami dotazov). Pre istotu tento popis je aj v priloženom súbore. Do dotazu na maximálny dátum (MaxDat) som doplnil MaxDatum = Record.Field(Grouped_Rows{0},"MaxDat") a zmenil posledný riadok na in MaxDatum Naklikal som dataz na Table2 aj s filtrom na dátum a doplnil som 2. riadok MaxDatum = MaxDat a do filtru namiesto hodnoty som zadal namiesto hodnoty MaxDat. #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Datum] <= MaxDat) let MaxDatum = MaxDat, Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Datum", type date}, {"A", type text}, {"C", type text}}), #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Datum] <= MaxDat) in #"Filtered Rows"
Odpověď
Jan Kessler | 8.12.2016 15:37  
 
 
Pochopil jsem logiku toho vzorce a použil v rozšířeném editoru. Díky
Odpověď