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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

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
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors
Top Kudoed Authors