Czy istnieje możliwość wyszukiwania nazw w źródle?

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

Czy istnieje sposób, aby wybrać wszystkie źródła Facebooka, bez ich liście?

1
Tom tom 25 luty 2019, 13:20

2 odpowiedzi

Najlepsza odpowiedź

Z pewnością możesz zmniejszyć ilość kodu za pomocą regexp_match

Na przykład

CASE
WHEN REGEXP_MATCH(Source, '.*facebook.*') OR REGEXP_MATCH(Source, '.*instagram.*') THEN 'Social'
ELSE 'Sonstige'
END
1
Bobbylank 25 luty 2019, 10:41

Inną opcją pozbycia się niektórych duplikacji jest użycie w. Dla twojego kodu spowodowałoby coś takiego:

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
0
diminishedprime 26 luty 2019, 23:01