如何使用 CASE 语句在 Google Data Studio 中减去网页浏览量?
How to Subtract Pageviews in Google Data Studio using a CASE statement?
我想从不同页面的 Pageviews
中减去特定页面的 Pageviews
,但是当我尝试将 COUNT
与 CASE
一起使用时,我得到 1
:
COUNT(CASE
WHEN page = "www.link1.com" THEN 1 END)
这给了我一个错误COUNT
:
COUNT(CASE
WHEN page = "www.link1.com" THEN 1
ELSE 0 END)
我最终想做的是:
COUNT(CASE
WHEN page="www.link1.com" OR page = "www.link2.com" THEN 1
ELSE 0 END) - COUNT(CASE
WHEN page="www.link3.com" THEN 1
ELSE 0 END)
我想要 Users
的 COUNT
访问过 link3
但 NOT 来自 link1
和 link2
.这些链接是漏斗中的步骤。 link1
是漏斗的第一步,但 link2
和 link3
有更多 Pageviews
。我想显示有多少用户来自上一个渠道步骤以外的来源(即 link1
)。
总结
实现它的一种方法是使用 RegEx 公式 (#2),或者 CASE Statement (#3), however, as Pageviews
is an aggregated Metric, the Calculated Fields 在数据源创建时将产生以下消息:
Sorry, calculated fields can't mix metrics (aggregated values) and dimensions (non-aggregated values). Please check the aggregation types of the fields used in this formula. Learn more.
为了将来参考,添加了一张图片:
解决方案是首先使用数据混合来分解 Pageviews
字段 (#1),然后应用计算字段(#2 或 #3):
1) Data Blending
数据源 1
- 连接键 1:
Date
- 连接键 2:
Page
- 公制:
Pageviews
数据源 2
- 连接键 1:
Date
- 连接键 2:
Page
要详细说明的图像:
2) 正则表达式
SUM(NARY_MAX(CAST(REGEXP_REPLACE(CONCAT(Page, ";", Pageviews), "(www\.link1\.com|www\.link2\.com);(.*)", "\2") AS NUMBER ), 0 ) ) - SUM(NARY_MAX(CAST(REGEXP_REPLACE(CONCAT(Page, ";", Pageviews), "(www\.link3\.com);(.*)", "\2") AS NUMBER ), 0 ) )
3)(替代计算字段)CASE 语句
SUM(CASE
WHEN Page IN ("www.link1.com", "www.link2.com") THEN Pageviews
ELSE 0 END) - SUM(CASE
WHEN Page IN ("www.link3.com") THEN Pageviews
ELSE 0 END)
Google Data Studio Report 和一个 GIF 来详细说明:
我想从不同页面的 Pageviews
中减去特定页面的 Pageviews
,但是当我尝试将 COUNT
与 CASE
一起使用时,我得到 1
:
COUNT(CASE
WHEN page = "www.link1.com" THEN 1 END)
这给了我一个错误COUNT
:
COUNT(CASE
WHEN page = "www.link1.com" THEN 1
ELSE 0 END)
我最终想做的是:
COUNT(CASE
WHEN page="www.link1.com" OR page = "www.link2.com" THEN 1
ELSE 0 END) - COUNT(CASE
WHEN page="www.link3.com" THEN 1
ELSE 0 END)
我想要 Users
的 COUNT
访问过 link3
但 NOT 来自 link1
和 link2
.这些链接是漏斗中的步骤。 link1
是漏斗的第一步,但 link2
和 link3
有更多 Pageviews
。我想显示有多少用户来自上一个渠道步骤以外的来源(即 link1
)。
总结
实现它的一种方法是使用 RegEx 公式 (#2),或者 CASE Statement (#3), however, as Pageviews
is an aggregated Metric, the Calculated Fields 在数据源创建时将产生以下消息:
Sorry, calculated fields can't mix metrics (aggregated values) and dimensions (non-aggregated values). Please check the aggregation types of the fields used in this formula. Learn more.
为了将来参考,添加了一张图片:
解决方案是首先使用数据混合来分解 Pageviews
字段 (#1),然后应用计算字段(#2 或 #3):
1) Data Blending
数据源 1
- 连接键 1:
Date
- 连接键 2:
Page
- 公制:
Pageviews
数据源 2
- 连接键 1:
Date
- 连接键 2:
Page
要详细说明的图像:
2) 正则表达式
SUM(NARY_MAX(CAST(REGEXP_REPLACE(CONCAT(Page, ";", Pageviews), "(www\.link1\.com|www\.link2\.com);(.*)", "\2") AS NUMBER ), 0 ) ) - SUM(NARY_MAX(CAST(REGEXP_REPLACE(CONCAT(Page, ";", Pageviews), "(www\.link3\.com);(.*)", "\2") AS NUMBER ), 0 ) )
3)(替代计算字段)CASE 语句
SUM(CASE
WHEN Page IN ("www.link1.com", "www.link2.com") THEN Pageviews
ELSE 0 END) - SUM(CASE
WHEN Page IN ("www.link3.com") THEN Pageviews
ELSE 0 END)
Google Data Studio Report 和一个 GIF 来详细说明: