Data Studio 计算字段:如何从 url 中提取域
Data Studio calculated field: how to extract domain from url
我有一个 Data Studio 报告,其中 Google Sheet 文档作为数据源。在数据源中,我有一个带有 url 的列 - 为了创建一个好看的报告,我需要域。到目前为止,我直接在 Google Sheet 中从 url 中提取域 - 我使用以下公式:
=IFNA(trim(REGEXEXTRACT(REGEXREPLACE(REGEXREPLACE(BT2,"https?://",""),"^(w{3}\.)?","")&"/","([^/?]+)")),"")
我从 https://www.example.com/pag.html
→ example.com
得到,这是预期的输出。
但是在 Data Studio 中,应该如何看待一个具有相同作用的正则表达式?
我尝试了两个表达式变体,但仅部分获得了预期的输出:
REGEXP_EXTRACT(URL, "//(.*?)/")
- 但使用此表达式,子域(如 www)仍未过滤。
REGEXP_EXTRACT(URL, '^[^.]+.([^.]+)')
- 仅提取域名 - 没有子域,但也没有 TLD。
我如何增强最后一个表达式以过滤任何子域,而不仅仅是 www、out?
使用 Calculated Field:
将问题中的相应 Google Sheets 公式改编为 Google Data Studio
TRIM(REGEXP_EXTRACT(REGEXP_REPLACE(REGEXP_REPLACE(URL, "https?://", ""), R"^(w{3}\.)?", ""), "([^/?]+)"))
Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一张 GIF 来详细说明:
我有一个 Data Studio 报告,其中 Google Sheet 文档作为数据源。在数据源中,我有一个带有 url 的列 - 为了创建一个好看的报告,我需要域。到目前为止,我直接在 Google Sheet 中从 url 中提取域 - 我使用以下公式:
=IFNA(trim(REGEXEXTRACT(REGEXREPLACE(REGEXREPLACE(BT2,"https?://",""),"^(w{3}\.)?","")&"/","([^/?]+)")),"")
我从 https://www.example.com/pag.html
→ example.com
得到,这是预期的输出。
但是在 Data Studio 中,应该如何看待一个具有相同作用的正则表达式?
我尝试了两个表达式变体,但仅部分获得了预期的输出:
REGEXP_EXTRACT(URL, "//(.*?)/")
- 但使用此表达式,子域(如 www)仍未过滤。REGEXP_EXTRACT(URL, '^[^.]+.([^.]+)')
- 仅提取域名 - 没有子域,但也没有 TLD。
我如何增强最后一个表达式以过滤任何子域,而不仅仅是 www、out?
使用 Calculated Field:
将问题中的相应 Google Sheets 公式改编为 Google Data StudioTRIM(REGEXP_EXTRACT(REGEXP_REPLACE(REGEXP_REPLACE(URL, "https?://", ""), R"^(w{3}\.)?", ""), "([^/?]+)"))
Editable Google Data Studio Report (Embedded Google Sheets 数据源)和一张 GIF 来详细说明: