在google data studio中,regexp_match无法处理带有特殊字符的文本字符串
我一直在尝试使用在google data studio中,regexp_match无法处理带有特殊字符的文本字符串,regex,google-data-studio,re2,Regex,Google Data Studio,Re2,我一直在尝试使用REGEXP\u MATCH在Google Data Studio中创建一个自定义字段,但效果不理想 我正在使用它的数据示例(这是在标记\u name字段中格式化数据的方式: {建筑,保约翰逊,保詹姆斯} {建筑,波桑迪,波奥科诺} 目标是检查某个名称是否存在,然后创建一个新标签 下面是我正在尝试的代码(tags\u name是原始文本字符串所在的字段名): 发生这种情况是因为出现了花括号/逗号/连字符吗?根据您的问题陈述,我试图在Google Data Studio中重现错误。
REGEXP\u MATCH
在Google Data Studio中创建一个自定义字段,但效果不理想
我正在使用它的数据示例(这是在标记\u name
字段中格式化数据的方式:
{建筑,保约翰逊,保詹姆斯}
{建筑,波桑迪,波奥科诺}
目标是检查某个名称是否存在,然后创建一个新标签
下面是我正在尝试的代码(tags\u name是原始文本字符串所在的字段名):
发生这种情况是因为出现了花括号/逗号/连字符吗?根据您的问题陈述,我试图在Google Data Studio中重现错误。不过,一切都完全按照预期进行 我已经在
tags\u name
字段中输入了您的输入(以及一些其他用于确认的表达式),并将您的REGEXP\u MATCH
函数放在另一个字段中:
结果如下:
这是你期望的结果吗
是否仍然存在问题?如果是,您可以编辑您的问题并添加相应的屏幕截图。以何种方式“未按预期工作”?您是否获得了带有应识别的标记名的“未定义”?您是否收到了错误消息?我只收到了未定义的try
(?s)。*(johnson?.*“
和(?s)。*(occonor?.*”
最好检查您的tags\u name
参数是否正确输入。您可以通过替换ELSE关闭中的结果进行检查。请尝试ELSE CONCAT(“tags\u name:”,tags\u name),而不是ELSE“undefined”
@WiktorStribiżew尝试了这一次,但仍然没有得到任何价值。非常感谢您花时间测试这一点。我已经在网上做了一些类似问题的进一步检查,似乎这是PostgresSQL连接特有的错误-用谷歌标记我已经尝试在谷歌工作表中使用数据提取并将其连接到datastudio似乎很有效(与您的示例类似):)感谢您的更新,很高兴知道问题是什么
CASE
WHEN REGEXP_MATCH(tags_name, ".*(johnson?).*") THEN "Marc Johnson"
WHEN REGEXP_MATCH(tags_name, ".*(occonor?).*") THEN "Sam Occonor"
ELSE "undefined"
END