Forum Discussion
danielboi
4 years agoHelper I
Filter table in Power Query based on two columns
Hello guys, trying to figure out what I though is an easy task so I can streamline my queries. I have two colums I want to use to filter Column 1: File name: 2021 Consolidation.xlsm 20...
TomMartens
4 years agoSuper User
Hey danielboi ,
create a custom column using an if statement in combination with the function Text.Contains (https://docs.microsoft.com/en-us/powerquery-m/text-contains) like so
if
Text.Contains( [Column1] , "A")
and
(
Text.Contains( [Column2] , "yellow") or Text.Contains( [Column2] , "red")
)
then "omit" else "keep"
Be aware of the brackets.
Then you can use to values to filter the table and remove the column after the filtering.
Hopefully, this provides an idea on how to tackle your challenge.
Regards,
Tom
TomMartens
4 years agoSuper User
Hey danielboi ,
if you are familiar with M and the Advanced Editor you can use this one:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUSpKTVGK1YGwK1NzcvLL4dz0otTUPKXYWAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}}),
#"onego" =
Table.SelectRows (
#"Changed Type" , (_) =>
( Text.Contains( [Column1] , "A") and
( Text.Contains( [Column2] , "yellow") or Text.Contains( [Column2] , "red") ) = false
)
)
// #"Added Custom" = Table.AddColumn(#"Changed Type", "condition", each if Text.Contains( [Column1] , "A") and
// ( Text.Contains( [Column2] , "yellow") or Text.Contains( [Column2] , "red")
// ) then "omit" else "keep")
in
#"onego"
Regards,
Tom