У меня есть набор данных MySQL, подключенный в качестве источника данных в Google Data Studio, и я создаю настраиваемые поля для использования в отчетах.
На соответствующих страницах поддержки Google я увидел, что формула NOT REGEXP_MATCH должна работать ( Смотрите здесь, в последней строке ), но, похоже, это не так.
Этот код работает:
CASE
WHEN REGEXP_MATCH(receipt,"75") AND REGEXP_MATCH(gameid,"75") THEN "0.75"
END
Этот код не работает ("Не удалось создать поле: повторите попытку позже"). Кроме того, из редактора я вижу, что при использовании NOT цвет THEN снова становится черным, что указывает на то, что редактор его неправильно понимает (поскольку он должен стать фиолетовым):
CASE
WHEN REGEXP_MATCH(receipt,"75") AND NOT REGEXP_MATCH(gameid,"75") THEN "0.75"
END






Воссоздал формулу с использованием источника данных Google Sheets, и она работает должным образом. Одна вещь, которую нужно попробовать, - решить ли проблему явное указание условие ELSE:
Числовое поле
CASE
WHEN REGEXP_MATCH(receipt, "75") AND NOT REGEXP_MATCH(gameid, "75") THEN 0.75
ELSE 0
END
Текстовое поле
CASE
WHEN REGEXP_MATCH(receipt, "75") AND NOT REGEXP_MATCH(gameid, "75") THEN "0.75"
ELSE "Other Value"
END
Ссылка на отчет Google Data Studio с источником данных и встроенной таблицей Google.