Načtení filtrů
// Tabulka_filtr
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka_filtr"]}[Content],
#"Změněný typ" = Table.TransformColumnTypes(Zdroj,{{"A", type any}, {"B", type any}, {"C", type text}}),
#"Ošetření prázdného textu" = Table.ReplaceValue(#"Změněný typ","",null,Replacer.ReplaceValue,{"A", "B", "C"})
in
#"Ošetření prázdného textu"
Filtrování:
// Tabulka_data
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabulka1"]}[Content],
tabulka = Table.TransformColumnTypes(Zdroj,{{"A", Int64.Type}, {"B", type any}, {"C", type text}}),
FitrovaneSloupce = Table.ColumnNames(#"Tabulka_filtr"),
#"Filtrovano" = List.Accumulate(
FitrovaneSloupce,
tabulka, (x, s) =>
let
HodnotyFiltru = List.RemoveNulls(Table.Column(Tabulka_filtr,s)),
xxx = if List.Count(HodnotyFiltru) > 0 then
Table.SelectRows(x, each List.Contains(HodnotyFiltru, Record.Field(_, "" & s & "")))
else x
in
xxx
)
in
#"Filtrovano"
Hlavičky v tabulce filtrů (pokud chceme sloupec filtrovat) se musí shodovat s daty.citovat