Reply
campelliann
Post Patron
Post Patron
Partially syndicated - Outbound

In Operator in power Query

Hi,

 

I want to make a custom filter if a column has certain values: If column = "A" or column = "B" or column ="C" then "filter" else "not filter".

Is there an IN operator, if column IN {"A","B","C"} in M Language/Power Query?

Many thanks

1 ACCEPTED SOLUTION
mahoneypat
Microsoft Employee
Microsoft Employee

Syndicated - Outbound

Here's one way to do it in the query editor.  To see how it works, just create a blank query, open the Advanced Editor and replace the text there with the M code below.  You can use List.Contains( ) to do it.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
in
    #"Added Custom"

 

Pat

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

2 REPLIES 2
Jestentime
New Member

Syndicated - Outbound

how are you populating the table with  A B C & D? I have figured out almost everything else from your M-Code but that.

your code

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
in
    #"Added Custom"

 

mahoneypat
Microsoft Employee
Microsoft Employee

Syndicated - Outbound

Here's one way to do it in the query editor.  To see how it works, just create a blank query, open the Advanced Editor and replace the text there with the M code below.  You can use List.Contains( ) to do it.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclSK1YlWcgKTzmDSRSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Letter = _t]),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each if List.Contains({"A", "B"}, [Letter]) then "Y" else "N")
in
    #"Added Custom"

 

Pat

 





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


avatar user

Helpful resources

Announcements
March PBI video - carousel

Power BI Monthly Update - March 2025

Check out the March 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)