如何在 "contains" 时创建 CASE?
How to create CASE WHEN "contains"?
是否可以搜索 Source
中的姓名?
CASE
WHEN Source="facebook_instagram" OR Source="facebook.com" OR Source="m.facebook.com" OR Source="instagram.com" OR Source="instagram" OR Source="l.facebook.com" OR Source="lm.facebook.com" OR Source="facebook" OR Source="de-de.facebook.com" THEN "Social"
ELSE "Sonstige"
END
有没有办法 select 所有 facebook
来源,而不列出它们?
使用REGEXP_MATCH
当然可以减少代码量
例如
CASE
WHEN REGEXP_MATCH(Source, '.*facebook.*') OR REGEXP_MATCH(Source, '.*instagram.*') THEN 'Social'
ELSE 'Sonstige'
END
另一种消除部分重复的方法是使用 in。对于您的代码,结果如下:
CASE
WHEN Source IN("facebook_instagram", "facebook.com", "m.facebook.com", "instagram.com", "instagram", "l.facebook.com", "lm.facebook.com", "facebook", "de-de.facebook.com") Then "Social"
ELSE "Sonstige"
END
可以使用REGEXP_MATCH
function within a CASE
语句实现;下面的 RegEx 查找 facebook
或 (|
) instagram
,不管字符串以什么开头 (^
),文本前面是什么 (.*
) , 在文本 (.*
) 或以 ($
) 结尾的内容之后:
CASE
WHEN REGEXP_MATCH(Source, "^.*(facebook|instagram).*$") THEN "Social"
ELSE "Sonstige"
END
Google Data Studio Report 和一张 GIF 来详细说明:
是否可以搜索 Source
中的姓名?
CASE
WHEN Source="facebook_instagram" OR Source="facebook.com" OR Source="m.facebook.com" OR Source="instagram.com" OR Source="instagram" OR Source="l.facebook.com" OR Source="lm.facebook.com" OR Source="facebook" OR Source="de-de.facebook.com" THEN "Social"
ELSE "Sonstige"
END
有没有办法 select 所有 facebook
来源,而不列出它们?
使用REGEXP_MATCH
当然可以减少代码量例如
CASE
WHEN REGEXP_MATCH(Source, '.*facebook.*') OR REGEXP_MATCH(Source, '.*instagram.*') THEN 'Social'
ELSE 'Sonstige'
END
另一种消除部分重复的方法是使用 in。对于您的代码,结果如下:
CASE
WHEN Source IN("facebook_instagram", "facebook.com", "m.facebook.com", "instagram.com", "instagram", "l.facebook.com", "lm.facebook.com", "facebook", "de-de.facebook.com") Then "Social"
ELSE "Sonstige"
END
可以使用REGEXP_MATCH
function within a CASE
语句实现;下面的 RegEx 查找 facebook
或 (|
) instagram
,不管字符串以什么开头 (^
),文本前面是什么 (.*
) , 在文本 (.*
) 或以 ($
) 结尾的内容之后:
CASE
WHEN REGEXP_MATCH(Source, "^.*(facebook|instagram).*$") THEN "Social"
ELSE "Sonstige"
END
Google Data Studio Report 和一张 GIF 来详细说明: