Workflow triggering both conditions that are set to be opposite

Can someone help me see what Iโ€™m doing wrong?

I have a workflow โ€œif this is true:โ€ set to trigger with this formula to check if a patient exists in the table

IF(
ISBLANK(
FILTER(
โ€œPatient Informationโ€,
([PatientID] = [_THISROW].[PatientID])
)
),
FALSE,
TRUE
)

and another workflow to trigger if the above is opposite.

IF(
ISBLANK(
FILTER(
โ€œPatient Informationโ€,
([PatientID] = [_THISROW].[PatientID])
)
),
TRUE,
FALSE
)

THEY ARE BOTH TRIGGERING AND MESSING UP MY ACTIONS.

I have also tried the following which worked yesterday but is triggering both workflows today:

IN([_THISROW].[PatientID], Patient Information[PatientID])

and the opposite

NOT(IN([_THISROW].[PatientID], Patient Information[PatientID]))

Is there anything anyone can see that explains my problem? Should I be using different formulas in the โ€œif this is trueโ€ of the workflows?

Thank you

0 2 160
2 REPLIES 2

APPARENTLY it was a bug, i deleted one of the workflows and added it back new, now it is working

Iโ€™m glad you got it working!

Iโ€™d like to point something out that might make you expressions simplerโ€ฆ

This:

IF(
  ISBLANK(
    FILTER(
      โ€œPatient Informationโ€,
      ([PatientID] = [_THISROW].[PatientID])
    )
  ),
  FALSE,
  TRUE
)

is equivalent to:

ISNOTBLANK(
  FILTER(
    โ€œPatient Informationโ€,
    ([PatientID] = [_THISROW].[PatientID])
  )
)

Note the use of ISNOTBLANK().

And this:

IF(
  ISBLANK(
    FILTER(
      โ€œPatient Informationโ€,
      ([PatientID] = [_THISROW].[PatientID])
    )
  ),
  TRUE,
  FALSE
)

is equivalent to just:

ISBLANK(
  FILTER(
    โ€œPatient Informationโ€,
    ([PatientID] = [_THISROW].[PatientID])
  )
)

ISBLANK() and ISNOTBLANK() each produce Yes/No values (TRUE or FALSE): you donโ€™t need to compare their results to TRUE or FALSE, nor use IF() to convert their result to TRUE or FALSE.

In this:

IN([_THISROW].[PatientID], Patient Information[PatientID])

[_THISROW]. is only (possibly) needed if this expression is used within a FILTER(), MAXROW(), MINROW(), or SELECT() expression, or in a slice row filter expression; otherwise, itโ€™s entirely unneeded, and can actually cause problems.

See also:



Top Labels in this Space