如何在Looker Studio中使用‘非’条件对URL进行分组?
在Looker Studio中对URL分组的正确实现方式
你原写法里的BUT NOT是错误语法,Looker Studio的CASE表达式中,多条件判断需用AND NOT来组合,下面提供两种可行的实现方法:
方法一:基础条件判断(无需正则)
直接用ENDS_WITH和CONTAINS结合逻辑运算符实现,逻辑直观易懂:
CASE WHEN URL ENDS_WITH "category1/" THEN "category1 folder" WHEN URL CONTAINS "category1" AND NOT URL ENDS_WITH "category1/" THEN "category1 url" WHEN URL ENDS_WITH "category2/" THEN "category2 folder" WHEN URL CONTAINS "category2" AND NOT URL ENDS_WITH "category2/" THEN "category2 url" END
方法二:正则匹配(REGEXP_MATCH)
你提到的正则写法是可行的,还可以优化得更严谨,避免匹配到意外路径:
CASE -- 匹配以category1/结尾的目录URL WHEN REGEXP_MATCH(URL, "category1/$") THEN "category1 folder" -- 匹配category1/后至少带内容的文章URL,确保是分类下的子路径 WHEN REGEXP_MATCH(URL, "category1/.+") THEN "category1 url" WHEN REGEXP_MATCH(URL, "category2/$") THEN "category2 folder" WHEN REGEXP_MATCH(URL, "category2/.+") THEN "category2 url" END
如果需要严格限定域名,可在正则前加上域名前缀,比如^https://example.com/category1/$,避免匹配其他域名下的相似路径。
注意:CASE表达式按顺序判断,需把目录的判断放在文章前面,否则会被后续条件覆盖。
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

