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
brownrice
Helper III
Helper III

Replacing nulls or empty strings doesn't always work - what am i doing wrong?

If i want to replace several values in one step including any nulls/empty strings my mcode seems to skip these nulls/empty strings.

 

example:

= Table.ReplaceValue(#"Previous Step", each [mycolumn], each

if [mycolumn] = "x" then "Yes" else

if [mycolumn] = ""  then "Unknown" else

if [mycolumn] is null  then "Unknown" else

"No" , Replacer.ReplaceText,{"mycolumn"})

 

the above leaves me with "Yes", "No" and (blank)

 

What am I doing wrong?

 

 

1 ACCEPTED SOLUTION
Daryl-Lynch-Bzy
Resident Rockstar
Resident Rockstar

Hi @brownrice - I understand what you are trying to achieve but I am not a fan of Table.ReplaceValue.  I prefer the Table.TransformColumns approach  Check the last paragraph in Section 3. 

 

The formula would look like this:

= Table.TransformColumns(#"Previous Step", 
 { 
  { "mycolumn", each 
      if _ = "x" then "Yes" 
      else if _ = ""  then "Unknown" 
      else if _ = null then "Unknown" 
      else "No" , type text
  }
 }
)
 

View solution in original post

3 REPLIES 3
v-yanjiang-msft
Community Support
Community Support

Hi @brownrice ,

May I know could my solution solve your problem? If so, would you mind accept it as solution? More people who have the same requirment will find the solution quickly and benefit here, thank you!

 

Best Regards,
Community Support Team _ kalyj

v-yanjiang-msft
Community Support
Community Support

Hi @brownrice ,

You should replace the Replacer.ReplaceText in the code with Replacer.ReplaceValue.

Result:

vkalyjmsft_3-1668756434025.png

                              vkalyjmsft_4-1668756585590.png

vkalyjmsft_2-1668756385222.png

Best Regards,
Community Support Team _ kalyj

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Daryl-Lynch-Bzy
Resident Rockstar
Resident Rockstar

Hi @brownrice - I understand what you are trying to achieve but I am not a fan of Table.ReplaceValue.  I prefer the Table.TransformColumns approach  Check the last paragraph in Section 3. 

 

The formula would look like this:

= Table.TransformColumns(#"Previous Step", 
 { 
  { "mycolumn", each 
      if _ = "x" then "Yes" 
      else if _ = ""  then "Unknown" 
      else if _ = null then "Unknown" 
      else "No" , type text
  }
 }
)
 

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

Top Solution Authors
Top Kudoed Authors