[英]Why is REGEXP_MATCH not working like expected in Google Data Studio?
我尝试在 Google Data Studio 中生成更好的报告。 所以我开始使用带有正则表达式的自定义字段,但效果不如预期。
例如,给定一个自定义字段city
,其中的值为“我爱柏林”,我创建了以下语句:
CASE
WHEN REGEXP_MATCH(city,".*Berlin.*") THEN "Berlin"
ELSE "Other"
END
我的预期结果将与返回的“Berlin”相匹配,但我得到的是“Other”。
我尝试了一些不同的事情,但没有取得积极成果。
问题中提供的CASE
语句按预期工作(编辑:供将来参考,这是一个错误,特定于 PostgreSQL 连接器,并且已解决;请参见下面的注释)。
您可以查看添加(
捕获组)
以及添加不区分大小写的标志(?i)
以查看是否可以解决问题:
CASE
WHEN REGEXP_MATCH(city, ".*(?i)(Berlin).*") THEN "Berlin"
ELSE "Other"
END
注意: 2021 年 3 月 25 日的更新明确指出PostgreSQL 连接器的问题已解决:
改进了 PostgreSQL 中的文本功能
我们修复了一个错误,该错误会阻止CONTAINS_TEXT
、STARTS_WITH
、ENDS_WITH
和REGEXP_MATCH
函数与PostgreSQL 连接器一起正常工作。
可编辑的 Google Data Studio 报告(嵌入式Google 表格数据源)和一个 GIF 来详细说明:
似乎 Regexp 函数不能与 Postgres 实时连接器一起使用(也可能是 MySQL)。 我使用数据提取解决了我的问题,我需要对需要执行正则表达式的字段进行数据提取,并将创建的图表包含到我的报告中,该报告也连接到实时连接器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.