我在Tableau中工作,我有一个名为“着陆页”的维度,其中包含着陆页的所有URL。我想创建一个计算字段,该字段采用着陆页维度,并在着陆页的URL字符串中查找特定单词,然后在某些关键字下进行存储/过滤。我假设我将使用IF CONTAINS语句来执行此操作,但是我不确定如何在函数中包含OR语句。
这就是我要寻找的:
-包含/ employers /的URL应标记为主页
-包含/ our-products /,/ what-we-do /,/ sign-up /,/ what-is-employer-branding /,/ informed-candidates /或/ community-partners /的URL应该被标记为产品
-包含/ topics /或/ resources /的URL应标记为资源
-包含/ blog /的URL应标记为Blog
-包含/ success-stories /的URL应该标记为成功案例
-将/ demos /或/ contact-sales /标记为Handraisers的URL
IF CONTAINS([Landing Page], "/employers/") then "Home"
ELSEIF CONTAINS([Landing Page], "/our-products/")
OR CONTAINS([Landing Page], "/what-we-do/")
OR CONTAINS([Landing Page], "/sign-up/")
OR CONTAINS([Landing Page], "/what-is-employer-branding/")
OR CONTAINS([Landing Page], "/informed-candidates/")
OR CONTAINS([Landing Page], "/community-partners/") then "Product"
ELSEIF CONTAINS([Landing Page], "/topics/")
OR CONTAINS([Landing Page], "/resources/") then "Resources"
ELSEIF CONTAINS([Landing Page], "/blog/") then "Blog"
ELSEIF CONTAINS([Landing Page], "/post-job/") then "Self Service"
ELSEIF CONTAINS([Landing Page], "/success-stories/") then "Success-Stories"
ELSEIF CONTAINS([Landing Page], "/demos/")
OR CONTAINS([Landing Page], "/contact-sales/") then "Handraisers"
ELSE "Null" END
我目前正在使Blog,Home,Resources,Self Service和Null填充为Tableau中的行或列,但是缺少Product,Success-Stories和Handraisers一词。有人知道为什么吗?
答案 0 :(得分:1)
我重新格式化了您的计算,但没有发现任何问题。
IF CONTAINS([Landing Page], "/employers/")
then "Home"
ELSEIF
(
CONTAINS([Landing Page], "/our-products/")
OR CONTAINS([Landing Page], "/what-we-do/")
OR CONTAINS([Landing Page], "/sign-up/")
OR CONTAINS([Landing Page], "/what-is-employer-branding/")
OR CONTAINS([Landing Page], "/informed-candidates/")
OR CONTAINS([Landing Page], "/community-partners/")
)
then "Product"
ELSEIF
(
CONTAINS([Landing Page], "/topics/")
OR CONTAINS([Landing Page], "/resources/")
)
then "Resources"
ELSEIF CONTAINS([Landing Page], "/blog/")
then "Blog"
ELSEIF CONTAINS([Landing Page], "/post-job/")
then "Self Service"
ELSEIF CONTAINS([Landing Page], "/success-stories/")
then "Success-Stories"
ELSEIF
(
CONTAINS([Landing Page], "/demos/")
OR CONTAINS([Landing Page], "/contact-sales/")
)
then "Handraisers"
ELSE "Null" END
可能发生的情况是您的URL包含多个词组,例如/employers/sign-up
吗?
我建议尝试拉出URL的这一部分并将其放在自己的字段中。 EG使用这样的regexp_extract计算:REGEXP_EXTRACT('http://google.com/employers/', 'http:\/\/google\.com(.*)')
。结果将为/employers/
。这可能会帮助您弄清楚为什么没有得到预期的结果。
如果您还可以提供一些数据样本(如果这不能解决问题),那么我可以解决这个问题。