Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
abhishekjangid
Frequent Visitor

IN operator usage with Measure

Hi all,

I am working with IN operator and I have so many measure which have hardcoded values as of now.

I want to do something like this, I have a constant measure with a few whitelisted domains:
WhitelistedDomains = {"gmail.com", "yahoo.com"}

I want to create another measure which filters out only whitelisted domains rows from my table:
rows = Filter(emailTable, [emailColumn] IN [WhitelistedDomains])

Second measure does not work as expected. It throws an error that WhitelistedDomains is not a valid table.

 

What can be done here?

6 REPLIES 6
komald
Helper I
Helper I

@abhishekjangid ,You can try

Measure =
var lists = {"gmail.com", "yahoo.com"}
return
FILTER(EmailTable,EmailTable[Email] in lists)
Greg_Deckler
Super User
Super User

@abhishekjangid Yeah, unfortunately tha first measure is not valid because Microsoft doesn't allow you to return a non-scalar value for measures. So, for example, if you tried to use that first measure in a Card visual it would return an error. I really wish Microsoft would allow this. So, what you would need to do is to make your second measure this:

rows =
  VAR WhitelistedDomains = {"gmail.com", "yahoo.com"}
RETURN
  Filter(emailTable, [emailColumn] IN [WhitelistedDomains])

However, this will also not work due to the above explanation about returning non-scalar values so maybe something like this:

rows =
  VAR WhitelistedDomains = {"gmail.com", "yahoo.com"}
RETURN
  IF(MAX('emailTable'[emailColumn]) IN [WhitelistedDomains],1,0)

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler 
I could do this but WhitelistedDomains is something I am using in multiple measures. So i though to bring it out somewhere in common place.

If there is some other way I can do this.

@abhishekjangid Well, if it is hard-coded, then simply use that formula to create a Table instead. Then it will work just fine.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

@Greg_Deckler 
ahh, do not want a table. Because domains might change over time.

@abhishekjangid Yeah, again, I wish Microsoft allowed Measures to return tables. Would be so incredibly useful.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

April Fabric Community Update

Fabric Community Update - April 2024

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