gpt4 book ai didi

regex - 使用 REGEX Google Data Studio 替换完整的引荐来源网址

转载 作者:行者123 更新时间:2023-12-03 17:24:30 25 4
gpt4 key购买 nike

我正在使用 Google Data Studio 创建一份分析特定推荐网站的报告。我的数据源是我的网站 Google Analytics。

我想用纯文本值(即页面名称一)替换完整推荐人(例如格式 webaddress.com/page-name-one),以便在报告中更清楚地看到我的图表中的哪个页面和 table 。

我在计算字段中使用了以下公式,但它们似乎都没有改变 Full Referrer 以匹配我需要的。 Data Studio 也将它们都识别为有效公式。

我已经匿名了我的例子,但它具有相同的原则。我试过了:

REGEXP_REPLACE(Full Referrer,"[webaddress\\.com\\/page\\-name\\-one].*","Page name one")

REGEXP_REPLACE(Full Referrer, 'webaddress.com/page-name-one', 'Page name one')

REGEXP_REPLACE(Full Referrer, 'webaddress\\.com\\/page\\-name\\-one', 'Page name one')

REGEXP_REPLACE(Full Referrer, 'name', 'Page name one')

REGEXP_REPLACE(Full Referrer, 'page-name-one', 'Page name one')

REGEXP_REPLACE(Full Referrer, 'page\\-name\\-one', 'Page name one')

最佳答案

在我自己的一个 GA 数据源上对此进行测试时,我能够使用您的一种模式来实现这一点:

REGEXP_REPLACE(Full Referrer,'webaddress.com/page-name-one','Page name one')

然而,应该注意的是, .应该正确转义(通过 \ 或将其包装在像 [.] 这样的字符类中;有关详细信息,请参阅 re2 syntax)。因为您必须使用双反斜杠,所以我也更喜欢使用 Data Studio 从 BigQuery 借来的东西(某种未记录的功能),即正则表达式字符串类型( r""r'' )。使用它时,您只需要单反斜杠(除非您想要文字反斜杠):
REGEXP_REPLACE(Full Referrer,r'webaddress\.com/page-name-one','Page name one')

因为您使用的是 REGEXP_REPLACE ,匹配字符串之前或之后的任何内容在替换之后仍然存在 - 这意味着对于“m.facebook.com/l”的完整推荐人, REGEXP_REPLACE(Full Referrer,r'facebook\.com','FB')将返回“m.FB/l”

因此,您上面的模式将匹配字符串中任何位置的值,这可能不是您想要的。要将其锚定到开头,请使用 ^ (字符串开头)断言:
REGEXP_REPLACE(Full Referrer,r'^webaddress\.com/page-name-one','Page name one')

如果您只想匹配 Full Referrer 的确切值(即不包括任何其他路径级别),请确保使用 $ (字符串结尾)断言:
REGEXP_REPLACE(Full Referrer,r'^webaddress\.com/page-name-one$','Page name one')

请记住,如果您在数据源中作为计算字段执行此操作,您实际上并没有更改原始指标——您正在处理它的副本。因此,您需要将 Full Referrer 替换为您在数据源中命名计算字段的任何内容。

通常您希望为一堆网站或页面执行此操作,因此您可以使用 CASE REGEXP_MATCH 在单个字段中处理所有这些逻辑:
CASE
WHEN REGEXP_MATCH(Full Referrer,r'^webaddress\.com/page-name-one$') THEN 'Page name one'
WHEN REGEXP_MATCH(Full Referrer,r'^site2\.com/example$') THEN 'S2 Example'
ELSE Full Referrer
END

这些匹配是按顺序完成的,因此您甚至可以匹配一个或多个特定页面,然后仍然为该域上您不匹配的任何内容提供不同的值:
CASE
WHEN REGEXP_MATCH(Full Referrer,r'^site\.com/$') THEN 'Site - Home'
WHEN REGEXP_MATCH(Full Referrer,r'^site\.com/about$') THEN 'Site - About'
WHEN REGEXP_MATCH(Full Referrer,r'^site\.com/') THEN 'Site - (other)'
ELSE Full Referrer
END

您也可以使用 ELSE如果您想将所有不匹配的值存储到“其他”分组中,而不是仅仅保留原始值。

要记住的另一件事是,由于 GA 中的共享字段,诸如 Source ( utm_source) 之类的内容也会出现在 Full Referrer 中。 ,因此您可能会在那里看到您通常不会期望的值。通常,您还可以通过仅过滤到“推荐”的默认 channel 分组来摆脱这些。

如果您的模式仍然不匹配,请使用一些其他详细信息更新问题,例如输出实际是什么,是否有错误消息等 - 以及您是否将其作为数据源中的计算字段执行或单个图表上的“创建字段”按钮。

关于regex - 使用 REGEX Google Data Studio 替换完整的引荐来源网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57492867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com