Forum Discussion

uif19085's avatar
uif19085
Helper III
3 years ago
Solved

Try using Switch but got error: A table multiple values was supplied where a ...

Hello, im trying making a column using Switch function, got this error:  "A table of multiple values was supplied where a single value was expected" and i don't know how to resolve it. Does anyone has any idea what can i do? 
This is the function:

Severity =
SWITCH(TRUE(),
[SIL] <> {"QM","#TBD#"}, "ASIL",
 IF(ISBLANK([SIL]),TRUE(),FALSE()) && [Test_Severity] in {"top"},"top",
 IF(ISBLANK([SIL]),TRUE(),FALSE()) && [Test_Severity] in {"high"},"high",
 IF(ISBLANK([SIL]),TRUE(),FALSE()) && [Test_Severity] in {"medium"},"medium",
 IF(ISBLANK([SIL]),TRUE(),FALSE()) && [Test_Severity] in {"low"},"low",
 IF(ISBLANK([SIL]),TRUE(),FALSE()) && IF(ISBLANK([Test_Severity]),TRUE(),FALSE()),"Not Assigned")

Severity:

  • ASIL : ASIL rated, i.e. neither 'QM' nor '#TBD#'
  • top : not ASIL rated and test severity 'top'
  • high : not ASIL rated and test severity 'high'
  • medium : not ASIL rated and test severity 'medium'
  • low : not ASIL rated and test severity 'low'
  • Not Assigned : not ASIL rated and test severity not specified
  • Hi, uif19085 

     

    You can try the following methods.

    Severity = 
    SWITCH(TRUE(),
    NOT([SIL]) in {"QM","#TBD#"}, "ASIL",
    [SIL]<>BLANK() && [Test_Severity] = "top","top",
    [SIL]<>BLANK() && [Test_Severity] = "high","high",
    [SIL]<>BLANK() && [Test_Severity] = "medium","medium",
    [SIL]<>BLANK() && [Test_Severity] = "low","low",
    [SIL]<>BLANK() && [Test_Severity]<>BLANK(),"Not Assigned")

    Is this the result you expect?

     

    Best Regards,

    Community Support Team _Charlotte

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

  • uif19085's avatar
    uif19085
    3 years ago

    Yes, it works, but had to replace every "<>" with "=" 

3 Replies

  • hi uif19085 

    try like:

    SWITCH(
    TRUE(),
    NOT [SIL] IN {"QM","#TBD#"}, "ASIL",
    [Test_Severity] = "top", "top",
    [Test_Severity] = "high", "high",
    [Test_Severity] = "medium", "medium",
    [Test_Severity] = "low", "low",
    "Not Assigned"
    )
  • v-zhangti's avatar
    v-zhangti
    Community Support

    Hi, uif19085 

     

    You can try the following methods.

    Severity = 
    SWITCH(TRUE(),
    NOT([SIL]) in {"QM","#TBD#"}, "ASIL",
    [SIL]<>BLANK() && [Test_Severity] = "top","top",
    [SIL]<>BLANK() && [Test_Severity] = "high","high",
    [SIL]<>BLANK() && [Test_Severity] = "medium","medium",
    [SIL]<>BLANK() && [Test_Severity] = "low","low",
    [SIL]<>BLANK() && [Test_Severity]<>BLANK(),"Not Assigned")

    Is this the result you expect?

     

    Best Regards,

    Community Support Team _Charlotte

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

    • uif19085's avatar
      uif19085
      Helper III

      Yes, it works, but had to replace every "<>" with "="