如何使用 Tableau 计算字段删除 GA 页面查询参数?

How to remove GA Page query parameters using Tableau calculated fields?

我的 GA 页面维度中有请求 URIs,如下所示:

  1. /this/is/a/webpage.html/?参数=1
  2. /forwarded/from/?url=/webpage.html?参数=1
  3. /this/is/another/webpage.html/

我想在 Tableau 中创建一个计算字段,用于提取第一个“?”之前的文本。 returns那个值。

基于上述输入的理想输出为:

  1. /this/is/a/webpage.html/
  2. /forwarded/from/
  3. /this/is/another/webpage.html/

我试过了

计算字段:公式:REGEXP_REPLACE(Page, '\?.+', '')

它returns没有记录。

请就 Tableau 未按预期处理此问题的原因提供解决方法或解释?

不要替换问号右侧的字符,而是尝试提取左侧的字符:

REGEXP_EXTRACT([Page], '([^?]*)')

奇怪的是,如果没有括号,上面的计算字段将无法工作。也许您最初的尝试也是如此。

编辑:因为您的原始功能似乎对我有用,我很好奇您是否尝试使用当前不支持 Tableau 中的正则表达式的数据源。

Here 是支持正则表达式函数的数据源列表:

This function is available for Text File, Google BigQuery, PostgreSQL, Tableau Data Extract, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (version 14.1 and above), Impala 2.3.0 (through Cloudera Hadoop data sources), Snowflake, and Oracle data sources.

在 Tableau 中本机执行此操作而不使用正则表达式的方法如下:

IF CONTAINS([Page],'?') THEN     
    LEFT([Page], FIND([Page],'?')-1)
ELSE
    [Page]
END

但是请谨慎,因为 Contains() 函数的计算成本相对较高 - 因为它需要搜索每个字符串的每个字符。