It seems that if you want to make a column of a table optional with an internal snippet and work with a list or text datafield in this internal snippet, you get an error. For instance:
surround the column condition with curly braces (otherwise that internal snippet will be treated as text to be inserted)
remove the curly braces from the body of the snippet (you need curly braces there if you want the internal snippet to behave as a constant value, while here you want to treat it as a pure condition)