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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

Nested if

Hi all,

 

I'm trying to nest several if conditions. This is the context:

- Column1 [S_LocalExpertDecision]: It is a string and can take several values or be null. I want this field if it isn't null. Otherwise:

- Column2 [InnovationLevel]: It is a number from 0 to 10, or null. I convert this value to text according a rule (<5 or >=5). If it is null, I will consider the next column.

- Column3 [PS_Decision]: It's similar to Column1. I just use this field if the previous one are null. Just in case this is null, the result will be null.

 

Taking this into account, I have this code:

 

= if [S_LocalExpertDecision] = null then
(if [InnovationLevel] = null then 
(if [PS_Decision] = null then null
else if Text.Contains([PS_Decision], "Innovation") then "Innovation"
else if Text.Contains([PS_Decision], "Continuous") then "Continuous Improvement"
else if Text.Contains([PS_Decision], "Dispose") then "Discarded"
else null)
else if [InnovationLevel] > 5 then "Innovation"
else if [InnovationLevel] <= 5 then "Continuous Improvement"
else null)
else if Text.Contains([S_LocalExpertDecision], "Innovation") then "Innovation"
else if Text.Contains([S_LocalExpertDecision], "Continuous") then "Continuous Improvement"
else if Text.Contains([S_LocalExpertDecision], "Dispose") then "Discarded"
else null

When I apply this, the column doesn't work and show lots of null entries. Any suggestion?

 

Thank you in advance.

 

Best regards,

 

Fernando

1 ACCEPTED SOLUTION
gpoggi
Responsive Resident
Responsive Resident

Hi @Anonymous ,

 

I think you have a couple of extra nulls in your formula:

extra nullsextra nulls

 

 

 

 

 

 

 

 


With those nulls you won't see [PS_Decision] and [S_LocalExpertDecision] values when they doesn't meet your text criteria.

 

Try to run this code and let me know if you get any errors:

 

if
  [S_LocalExpertDecision] = null
then
  if
    [InnovationLevel] = null
  then
    if
      [PS_Decision] = null
    then
      null
    else
      if
        Text.Contains([PS_Decision], "Innovation")
      then
        "Innovation"
      else
        if
          Text.Contains([PS_Decision], "Continuous")
        then
          "Continuous Improvement"
        else
          if
            Text.Contains([PS_Decision], "Dispose")
          then
            "Discarded"
          else
	    [PS_Decision]
  else
    if
      [InnovationLevel] > 5
    then
      "Innovation"
    else
      "Continuous Improvement"
else
  if
    Text.Contains([S_LocalExpertDecision], "Innovation")
  then
    "Innovation"
  else
    if
      Text.Contains([S_LocalExpertDecision], "Continuous")
    then
      "Continuous Improvement"
    else
      if
        Text.Contains([S_LocalExpertDecision], "Dispose")
      then
        "Discarded"
      else
        [S_LocalExpertDecision]

Any question , please let me know.

 

Regards,

 

Gian Carlo Poggi

View solution in original post

2 REPLIES 2
v-piga-msft
Resident Rockstar
Resident Rockstar

Hi @Anonymous ,

Have you solved the problem?

If you have solved, please always accept the replies making sense as solution to your question so that people who may have the same question can get the solution directly.

If you still need help, please share the data sample and your desired output so that we could help further on it.

Best Regards,

Cherry

Community Support Team _ Cherry Gao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
gpoggi
Responsive Resident
Responsive Resident

Hi @Anonymous ,

 

I think you have a couple of extra nulls in your formula:

extra nullsextra nulls

 

 

 

 

 

 

 

 


With those nulls you won't see [PS_Decision] and [S_LocalExpertDecision] values when they doesn't meet your text criteria.

 

Try to run this code and let me know if you get any errors:

 

if
  [S_LocalExpertDecision] = null
then
  if
    [InnovationLevel] = null
  then
    if
      [PS_Decision] = null
    then
      null
    else
      if
        Text.Contains([PS_Decision], "Innovation")
      then
        "Innovation"
      else
        if
          Text.Contains([PS_Decision], "Continuous")
        then
          "Continuous Improvement"
        else
          if
            Text.Contains([PS_Decision], "Dispose")
          then
            "Discarded"
          else
	    [PS_Decision]
  else
    if
      [InnovationLevel] > 5
    then
      "Innovation"
    else
      "Continuous Improvement"
else
  if
    Text.Contains([S_LocalExpertDecision], "Innovation")
  then
    "Innovation"
  else
    if
      Text.Contains([S_LocalExpertDecision], "Continuous")
    then
      "Continuous Improvement"
    else
      if
        Text.Contains([S_LocalExpertDecision], "Dispose")
      then
        "Discarded"
      else
        [S_LocalExpertDecision]

Any question , please let me know.

 

Regards,

 

Gian Carlo Poggi

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.