Hi,
Spotfire does not support ansi SQL commands,
Try:
CASE
WHEN find( string([gen]) , "801,834,888" ) >0 AND [sub] = 101 THEN "Category 1"
....
ELSE "NO CATEGORY"
END
The list is in the string within the find function. I added the seperartor to avioid any un-intended combinations.
If the find function finds a match the returned value will be greater or equal to 1 . No match returns 0.
I used string function for the gen column assuming it is originally an integer otherwise it is not needed.
Regards,
Eran