Poradna - Power Query - Podmíněný filtr období
Vložení příspěvkuhlavní 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 V PQ: Merge queries, jako prvni dejte Tab1, jako druhou Tab2 a Left Outer. Odpověď 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ěď Skúsil som vytvoriť príklad riešenia v prílohe. Zdrojové tabuľky aj s výsledkom sú na prvom liste. Odpověď 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ěď 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ěď 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ěď Pochopil jsem logiku toho vzorce a použil v rozšířeném editoru. Díky Odpověď |