我的GA页面维度中的请求URI如下所示:/this/is/a/webpage.html/?parameter=1/forwarded/from/?url=/webpage.html?parameter=1/this/is/another/webpage.html/我想要 …
不要将字符替换到问号的右侧,而是尝试将其提取到左侧:
REGEXP_EXTRACT([Page], '([^?]*)')
奇怪的是,如果没有括号,上面计算的字段将不起作用。你最初的尝试也许也是如此。
编辑:因为你的原始功能似乎对我有用,我很好奇你是否正在尝试使用目前不支持Tableau正则表达式的数据源。
这里 是一个支持正则表达式函数的数据源列表:
此功能适用于文本文件,Google BigQuery,PostgreSQL,Tableau数据提取,Microsoft Excel,Salesforce,Vertica,Pivotal Greenplum,Teradata(版本14.1及更高版本),Impala 2.3.0(通过Cloudera Hadoop数据源),Snowflake和Oracle数据源。
在不使用Regex的情况下在Tableau中本地执行此操作的方法如下:
IF CONTAINS([Page],'?') THEN LEFT([Page], FIND([Page],'?')-1) ELSE [Page] END
但要小心,因为Contains()函数的计算成本相对较高 - 因为它需要搜索每个字符串的每个字符。