cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Perry
Advocate II
Advocate II

Switch with Calculated Case

Is there a reason we cannot have an evaluated expression in the Case field within a Switch? I'd like to be able to set my Switch On Equal to True, and then have the case evaluate for True. For example:

 

Switch on True

  CASE 1 (IF A = TRUE and B = FALSE)

  CASE 2 (IF A = FALSE and B = TRUE)

  CASE 3 (IF A = TRUE and B = TRUE) 

  DEFAULT

 

Otherwise I have to do a nested IF/THEN function (nightmare to troubleshoot and read), and set a value to a variable, and then match on the variable outcome if I want to use the switch...Just easier to do the nested IF/THEN statements, but ugly and not as clean as going right to a switch case if I need to later modify that path...

 

Pseudocode:

IF (A = TRUE) and (B = FALSE)
   THEN
       varEmailSwitch = 1
   ELSE
        IF (A = FALSE) and (B = TRUE)
             THEN
                  varEmailSwitch = 2
             ELSE
                   IF (A = TRUE) and (B = TRUE)
                       THEN
                           varEmailSwitch = 3
                       ELSE
                           varEmailSwitch = 0 (Default)

1 REPLY 1
Perry
Advocate II
Advocate II

I did end up using the following as the logic in the Switch test:

 

if(and(equals(items('Apply_to_each')?['dgBypassA'], false),equals(items('Apply_to_each')?['dgBypassB'], True)),1,if(and(equals(items('Apply_to_each')?['dgBypassA'], True),equals(items('Apply_to_each')?['dgBypassB'], false)),2,if(and(equals(items('Apply_to_each')?['dgBypassA'], true),equals(items('Apply_to_each')?['dgBypassB'], true)),3,0)))
 
Then having 1, 2, 3 and default action (0) in the case, it just would have been "cleaner" (I know subject to interpretation), to do the test for the case in the "equals" section and far easier to modify in the future should I need to add additional checks to each case.
 
Perry

Helpful resources

Announcements
 WHAT’S NEXT AT MICROSOFT IGNITE 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Register for a Free Workshop.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Users online (2,466)