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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
cherrypbi
Advocate I
Advocate I

Create emails & exclude null values - Power Query

Is there a way to create the custom column in yellow, excluding the null values? I'm not sure if this is even ahievable in Power Query.. any advice would be appreciated. 

 

yham1023_0-1672859404033.png

 

 

1 ACCEPTED SOLUTION
ImkeF
Super User
Super User

Hi @cherrypbi ,
you can add a custom column with the following formula:

Text.Combine(List.Select( Record.FieldValues( Record.RemoveFields(_, {"ID"}) ), (l) => l <> null), "@gmail.com%2C") & "@gmail.com"

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

View solution in original post

4 REPLIES 4
ImkeF
Super User
Super User

Sure:
The _ gets all fields from the current row in a record format.

But we don't need the ID-column. So we the Record.RemoveFields function removes just that field.
Then the Record.FieldValues-function transforms that record into a list, containing only the field values.

But there are nulls in there that shouldn't be used to create the final string.
Therefore we use the List.Select function with (l) => l <> null as function argument: l stands for each item in the list and I <> null means that only items that are not null will be kept.

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

AlexisOlson
Super User
Super User

@ImkeF's answer looks good except that the ID = 444 row returns "@gmail.com".

 

Here's a slightly different approach that applies the "%2C" and "@gmail.com" separately:

Text.Combine(List.Transform({[name1], [name2], [name3], [name4]}, each _ & "@gmail.com"), "%2C")

 Note that null & "@gmail.com" returns null.

ImkeF
Super User
Super User

Hi @cherrypbi ,
you can add a custom column with the following formula:

Text.Combine(List.Select( Record.FieldValues( Record.RemoveFields(_, {"ID"}) ), (l) => l <> null), "@gmail.com%2C") & "@gmail.com"

Imke Feldmann (The BIccountant)

If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!

How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries

this worked like a charm! could you explani what the query is doing? I'm trying to understand this part "

 Record.RemoveFields(_, {"ID"}) ), (l) => l <> null

 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors
Top Kudoed Authors