Voici un tutoriel Looker Studio décrivant, étape par étape, comment séparer des valeurs délimitées par un caractère spécifique, comme des virgules par exemple, au sein d’une dimension ; et ainsi retrouver les métriques associées, ventilées par de réelles valeurs uniques.
Si votre logiciel de collecte de données n’offre pas de fonctionnalité pour gérer des listes et que vous ne souhaitez pas multiplier vos hits de tracking lorsqu’une dimension est multivaluée, cette astuce offre un solution pour le faire directement dans Data Studio sans préparation de données.
Attention, cette solution n’est pas parfaite, juste un quick win pour un jeu de données de taille faible.
Quelques exemples de cas d’usage pour ce séparateur de valeur, quelle que soit la nature de la source de données :
- Blog : Tags d’articles
- SEO : Liste de mots-clés ciblés et optimisés
- E-commerce : Liste de moyens de paiement personnalisés dans un tunnel d’achat
- Attribution : Succession de canaux de source de trafic pour une attribution linéaire des conversions
Table des matières
Ingrédients
Pour cet article, j’ai appliqué la méthode sur une dimension personnalisée collectant les tags d’articles sur Google Analytics, mais comme d’habitude, vous pouvez faire exactement la même chose pour n’importe quel contexte collectant des données sous forme de valeurs délimitées par un séparateur.
Pour créer un example de graphique en barre, utilisons les éléments suivants :
- Un fichier Google Sheets servant de source de données pour couper les listes de valeurs
- Une combinaison de données pour mixer les données et métriques issues de Google Analytics (pages vues par tag d’articles), avec les source de données Google Sheets
- Un graphique de type tableau avec barres pour visualiser nos données
- Un champ calculé pour notre dimension découpant les chaînes en valeurs uniques
- Un champ calculé pour la métrique pour conserver les valeurs des lignes de données concernées
Nombre maximum de valeurs au sein de la dimension de liste
Pour commencer, nous avons besoin d’identifier le nombre maximum de valeurs enregistrées dans notre dimension d’origine.
La formule de champ calculé ci-dessous permet de renvoyer ce nombre. Vous pouvez la tester sur une période longue de vos données. Dans mon cas, le séparateur utilisé est la virgule. Vous pouvez adapter la formule selon votre séparateur spécifique.
Max number of tags
MAX(
LENGTH(
REGEXP_REPLACE(Article tags,"([^,])","")
)
)+1
Explication de la formule de champ calculé ci-dessus :
On retire tous les caractères qui ne correspondent pas à des virgules et on compte ce qui reste, en ajoutant 1 pour connaître le nombre maximum de valeurs.
Dans le cadre de mon jeu de données, la formule retourne 4. Je prends de la marge en considérant qu’il ne peut pas y avoir plus de 10 valeurs à séparer dans les listes.
Source de données Google Sheets
Nous allons créer un simple fichier Google Sheets avec un seul onglet contenant une seule colonne « index » de 10 valeurs, de 1 à 10. Cela nous permettra de découper nos valeurs : Au sein de Looker Studio, il n’est pas possible de créer une liste sinon grâce une source de données.
Puis, nous ajoutons l’onglet Google Sheets en tant que source de données du rapport Looker Studio.
Combinaison de données (Blended data)
Il est temps à présent de configurer la combinaison de données « BD for list dimension » comme décrit ci-dessous.
- Première table à gauche
- Source de données : La source de données Google Sheets avec les index
- Dimension : Index
- Seconde table de droite
- Source de données : Notre source de données principale, pour l’exemple Google Analytics
- Dimensions : Article tags, Nb tags comme champ calculé avec la formule indiquée ci-dessous
- Métrique : Pageviews
- Jointure :
- Opérateur de jointure : Croisée
- Aucune clé de jointure
Nb tags
LENGTH(REGEXP_REPLACE(Article tags,"[^,]",""))+1
Explication de la formule de champ calculé : Cette formule retire tous les caractères, à l’exception des virgules pour les compter en ajoutant un pour avoir le nombre de tags.
Configuration du graphique
Enfin, on crée le graphique, un tableau :
- Type de graphique : Tableau
- Onglet « Configurer »
- Source de données : Votre combinaison de données « BD for list dimension »
- Dimension : Un champ calculé au niveau du graphique, nommé « Tag » en utilisant la formule ci-dessous
- Métrique : Un champ calculé « Page views » avec la formule ci-dessous et une agrégation par défaut de somme (SUM)
- Trié par Page views (donc le nouveau champ calculé de métrique) décroissant
- Onglet « Style »
- Afficher la métrique sous forme de barres
Champ calculé à utiliser comme dimension de graphique
Tag
CASE
WHEN Nb tags >= Index AND Index = 1 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){1}'),",","")
WHEN Nb tags >= Index AND Index = 2 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){2}'),",","")
WHEN Nb tags >= Index AND Index = 3 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){3}'),",","")
WHEN Nb tags >= Index AND Index = 4 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){4}'),",","")
WHEN Nb tags >= Index AND Index = 5 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){5}'),",","")
WHEN Nb tags >= Index AND Index = 6 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){6}'),",","")
WHEN Nb tags >= Index AND Index = 7 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){7}'),",","")
WHEN Nb tags >= Index AND Index = 8 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){8}'),",","")
WHEN Nb tags >= Index AND Index = 9 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){9}'),",","")
WHEN Nb tags >= Index AND Index = 10 THEN REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){10}'),",","")
ELSE REPLACE(REGEXP_EXTRACT(Article tags,'(,?[^,]+){1}'),",","")
END
Explications concernant la formule ci-dessus :
Garder en tête que les lignes de données sont répliquées 10 fois grâce à la jointure croisée de la combinaison de données.
On extrait chaque valeur de la chaîne avec les séparateurs, seulement si la liste contient assez de valeurs et uniquement pour l’index spécifique.
PS: Malheureusement, la fonction REGEXP_EXTRACT n’accepte que les expressions littérales (pas de possibilité d’injecter des valeurs dynamiques comme l’index pour simplifier la formule).
Champ calculé en tant que métrique du graphique
Page views
CASE
WHEN Nb tags >= Index THEN Pageviews
ELSE 0
END
Explications de la formule ci-dessus:
Nous comptons le nombre de pages vues seulement si la liste contient suffisamment de valeurs. En croisant cette selection, avec la dimension indiquée plus haut, nous dupliquons la valeur de la métrique (statistique) pour chaque valeur unique séparée.
Petit tour de la configuration complète
Enfin, faisons une petite vérification de toute la configuration nous permettant de produire un graphique, basé sur une dimension multi-valuée, séparée de virgules, transformées grâce à ce tutoriel en une réelle liste de valeurs uniques de dimensions. Voilà.