Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Invalid type in operator ==

Nagakodali
5 - Atom

Hi,

 

I am completely new to Alteryx and looking for some help in writing a Regex_match formula.

I am getting "Invalid type in operator== " error for below if and else statement

 

IF REGEX_Match([Sub Org ],':',1)="A" or REGEX_Match([Sub Org],':',1)="B" THEN ""AB
ELSEIF REGEX_Match([Sub Org],':',1)="E" THEN "S"
ELSEIF REGEX_Match([Sub Org],':',1)="65" THEN "I"
ELSEIF REGEX_Match([Sub Org],':',1)="L" AND Contains([Sub Org ],"SE") THEN "SE"
ELSEIF REGEX_Match([Sub Org],':',1)="OC" or REGEX_Match([Sub Org],':',1)="M" THEN "MC"
ELSEIF REGEX_Match([Sub Org],':',1)="W" THEN "WO"
ELSE REGEX_Match([Sub Org],':',1)
ENDIF

 

Kindly advise 

 

Thank you

4 REPLIES 4
CharlieS
17 - Castor
17 - Castor

Hi @Nagakodali 

 

Two things I'd check out here:

- In the first line, the result ""AB should have the quotes wrapped around the AB value

- The field this formula is applied to could also cause this error. The string results of this expression should be output to a string field. 

jdunkerley79
ACE Emeritus
ACE Emeritus

REGEX_Match returns a true or false value so can't be compared to a string value.

 

REGEX_Match([Sub Org ],':',1) will return true only if [Sub Org ] is equal to :

 

What are you trying to achieve with these functions?

Nagakodali
5 - Atom

Hi,

 

I am trying to split the value in the suborg field  and get the value before the first delimiter .I am trying to achieve below syntax in Alteryx :

IFNULL(IF SPLIT([SubOrg],':',1)='A' OR SPLIT([SubOrg],':',1)='B' THEN 'AB'
ELSEIF SPLIT([SubOrg],':',1)='E' THEN 'S'
ELSEIF SPLIT([SubOrg],':',1)='65' THEN 'I'
ELSEIF (SPLIT([SubOrg],':',1)='L' AND CONTAINS([SubOrg],'SE')) THEN 'SE'
ELSEIF (SPLIT([SubOrg],':',1)='OC' OR SPLIT([SubOrg],':',1)='M') THEN 'MC'
ELSEIF SPLIT([SubOrg],':',1)='W' THEN 'WO'
ELSE SPLIT([SubOrg],':',1) END, 'Not Found')

 

Kindly Suggest.

Thank you

jdunkerley79
ACE Emeritus
ACE Emeritus

I'd suggest something like:

IIF(CONTAINS([SubOrg],":"),
SWITCH(REGEX_Replace([SubOrg], "(.*?):.*", "$1"),
       REGEX_Replace([SubOrg], "(.*?):.*", "$1"),
       "A","AB",
       "B","AB",
       "E","S",
       "65","I"
       "OC", "MC",
       "M", "MC",
       "W", "WO"),
"Not Found")

 

But this doesn't cover the SE case. And am not quite sure the Not Found logic is quite right.

 

However this is roughly where I would start and build in those 2 cases.

 

If you have come sample data am happy to put together a more concrete example

Labels