Google Data Studio 计算字段/REGEX 协助请求

问题描述

我使用 Google Data Studio 将包含页面 URL 的大型网站站点地图与五年前相同页面 URL 的 Google Analytics 性能数据结合起来。我现在试图根据每个 URL 的长度和 URL (/) 中的正斜杠数量来识别它们的导航深度。主页的导航深度为 0,其下的页面为 1,以此类推。

我有一段代码我一直在努力做到这一点:

LENGTH(REGEXP_REPLACE(Page,"[^\\/]/g","")) - 1

简而言之,如果我正确理解了我拼凑的代码,我会尝试识别 Page 值中所有不是正斜杠 (/) 的字符并使用 {{1} },将它们替换为 REGEXP_REPLACE(nothing),基本上只剩下正斜杠,然后计算它们的长度以确定有多少,因此导航深度减去 1 以删除所有页面 URL 中的第一个 是我包含的全局变量,因为它在我用来测试代码的 REGEX 创建者中不起作用。据我所知,双重转义 /g 是 Google Data Studio一个特殊性。

有问题的字段包含如下所示的数据:

\\

我的代码应该导致结果 /testing-data/page-123/page-321/name-of-page/ (5-1) 但目前导致 4

解决方法

下面的 Calculated Field 的作用是使 / 代表正在搜索的词组:

DIVIDE((LENGTH(Page) - LENGTH(REGEXP_REPLACE(Page,"/",""))),LENGTH("/"))-1

为了分解上述内容,使用伪代码(和字符串 /testing-data/page-123/page-321/name-of-page/):

  • DIVIDE((LENGTH(All Characters) - LENGTH(All Characters Excluding /)),LENGTH(of /)-1

关于计算,每个阶段的值将是:

  • DIVIDE((45 - 40),1)-1

Editable Google Data Studio Report(嵌入式 Google Sheets 数据源)和 GIF 详细说明:

,

事实证明,我使用的代码的以下变体有效:

LENGTH(REGEXP_REPLACE(Page,"[^/]","")) - 1

我遇到的导致值被设置为 1 的问题显然不是因为计算,而是因为计算字段的设置,因为它被引入 Google Data Studio 的混合数据部分。它一直将其作为“Count Unique”而不是简单的 Sum 数据类型。结果,它在 REGEX 方程中正确计算了数字,只是不在我查看的表格中。

我尝试运行您提供的@Nimantha 代码,并且效果很好。所以,

有两个答案:

DIVIDE((LENGTH(All Characters) - LENGTH(All Characters Excluding /)),LENGTH(of /)-1

LENGTH(REGEXP_REPLACE(Page,"")) - 1

谢谢你把我踢到了正确的方向。一旦我意识到两个逻辑代码片段不可能是原因,我就在别处寻找原因。非常感谢。