1
votes

Comment créer CASE WHEN "contient"?

Est-il possible de rechercher des noms dans 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

Existe-t-il un moyen de sélectionner toutes les sources facebook , sans les énumérer?


0 commentaires

3 Réponses :


1
votes

Vous pouvez certainement réduire la quantité de code en utilisant REGEXP_MATCH

Par exemple

CASE
WHEN REGEXP_MATCH(Source, '.*facebook.*') OR REGEXP_MATCH(Source, '.*instagram.*') THEN 'Social'
ELSE 'Sonstige'
END


0 commentaires


1
votes

Cela peut être réalisé en utilisant la fonction REGEXP_MATCH dans une instruction CASE ; le RegEx ci-dessous recherche facebook ou ( | ) instagram quel que soit le début de la chaîne ( ^ ), ce qui précède le texte (. * ), après le texte (. * ) ou ce qui se termine par ( $ ):

CASE
  WHEN REGEXP_MATCH(Source, "^.*(facebook|instagram).*$") THEN "Social"
  ELSE "Sonstige"
END

Rapport Google Data Studio et un GIF à élaborer:


0 commentaires