Datastudio非计算字段创建

时间:2017-07-05 15:54:22

标签: regex google-bigquery google-data-studio

我将datastudio与BigQuery连接起来。 我尝试在BigQuery中使用用户函数,在datastudio中使用过去的个人查询,但在datastudio中不支持用户函数(CREATE TEMP FUNCTION)。 然后我尝试使用新的非计算字段和类别,但有些不对劲:

CASE WHEN REGEXP_MATCH(campaign, '*-Moskva-*','*-moskva-*') THEN 'Москва' ELSE 'other' END

错误:公式无效

2 个答案:

答案 0 :(得分:1)

可以使用以下任何CASE语句来实现:

1)campaign包含-Moskva--moskva-Москва

CASE
  WHEN REGEXP_MATCH(campaign, ".*(-[Mm]oskva-).*") THEN "Москва"
  ELSE "other"
END

2)当campaign包含Moskvamoskva然后Москва

CASE
  WHEN REGEXP_MATCH(campaign, ".*([Mm]oskva).*") THEN "Москва"
  ELSE "other"
END

创建了Google Data Studio Report和GIF进行详细说明:

答案 1 :(得分:-1)

您尝试复制您的函数,但不适用于Big Query。这是一个可行的例子

SELECT CASE WHEN REGEXP_CONTAINS('-Moskva-', r'.*-Moskva-.*|.*-moskva-.*') THEN 'Москва' ELSE 'other' END

您可以使用CONTAINS_TEXT在Data Studio中尝试。对于你的情况是

CASE WHEN CONTAINS_TEXT(campaign, '.*-Moskva-.*|.*-moskva-.*') THEN 'Москва' ELSE 'other' END

应该可以