问题描述
我尝试在Google Data Studio中生成更好的报告。因此,我开始将自定义字段与正则表达式结合使用,但效果不如预期。
例如,给出一个自定义字段“ city”,其值为“ I love Berlin”,我创建了以下语句:
CASE
WHEN REGEXP_MATCH(city,".*Berlin.*") THEN "Berlin"
ELSE "Other"
END
我的预期结果将是与返回的“柏林”匹配,但我却得到“其他”。
我尝试了几种不同的方法,但没有取得积极的结果。
解决方法
只需对其进行测试,问题中提供的CASE Statement会按预期工作。您可以看看添加一个(
捕获组)
以及添加一个不区分大小写的标志(?i)
来看看是否能解决问题:
CASE
WHEN REGEXP_MATCH(city,".*(?i)(Berlin).*") THEN "Berlin"
ELSE "Other"
END
Google Data Studio Report和要详细说明的GIF:
,似乎Regexp函数不能与Postgres live连接器一起使用(可能还包括MySQL)。我通过对需要进行正则表达式处理的字段进行数据提取来解决了我的问题,并将创建的图表也包含到我的报表中,该报表也与实时连接器相连。