Ce tutoriel dĂ©crivant comment crĂ©er un sĂ©lecteur d’intervalle de temps a Ă©tĂ© inspirĂ© par une question de la communautĂ©. Ce sĂ©lecteur est Ă©troitement associĂ© au monde financier pour les graphiques de cours de bourse.
Pour ce qui nous concerne plus spĂ©cifiquement, lors de la crĂ©ation d’un tableau de bord ou d’un rapport interactif, nous avons souvent tendance Ă ajouter un sĂ©lecteur de date. Je suis convaincu que cela n’est pas toujours nĂ©cessaire et que parfois, une simple option pour Ă©largir la pĂ©riode Ă des plages de temps est suffisante. Cela est particulièrement vrai pour les tableaux de bord destinĂ©s Ă surveiller les performances avec une granularitĂ© temporelle fixe, des objectifs, avec des seuils dĂ©finis.
Voyons donc comment nous pouvons construire ce sĂ©lecteur d’intervalle de temps pour un graphique en courbes.
Table des matières
Ingrédients
Pour cette configuration, nous aurons besoin des éléments suivants :
- Votre ensemble de données actuel, contenant au minimum un champ de date et une métrique
- Des paramètres booléens, 4 dans mon exemple
- Quelques champs calculés
- Une combinaison de données
- 4 boutons correspondant aux 4 paramètres dans le rapport
- Un graphique en courbes et les champs calculés associés au niveau du graphique
Jeu de données
Pour ce tutoriel, j’utilise une source de donnĂ©es BigQuery avec des leads gĂ©nĂ©rĂ©s quotidiennement, mais vous pouvez appliquer la mĂŞme mĂ©thode Ă n’importe quel ensemble de donnĂ©es contenant un champ de date et une mĂ©trique :
- data_date
- leads
Paramètres
Commençons par créer 4 paramètres booléens correspondant aux 4 intervalles de temps, qui seront représentées au final par des sélecteur de type « bouton » pour le graphique en courbes.
- « m1 » pour 1 mois glissant passé
- « m3 » pour 3 mois
- « m6 » pour 6 mois
- « y1 » pour 12 mois
Voici Ă quoi ressemble la configuration du premier paramètre (avec le mĂŞme nom pour le paramètre et l’ID).
Champs calculés
Nous devons identifier la date la plus rĂ©cente dans l’ensemble de donnĂ©es Ă l’aide de ce simple champs calculĂ©.
max_date
MAX(data_date)
Puis, nous crĂ©ons un second champ calculĂ© pour renvoyer l’intervalle de temps sĂ©lectionnĂ© en fonction de la valeur des 4 paramètres.
Selected Time Frame
CASE
WHEN m1 THEN "m1"
WHEN m3 THEN "m3"
WHEN m6 THEN "m6"
WHEN y1 THEN "y1"
ELSE "m1"
END
Combinaison de données
Maintenant, nous configurons les donnĂ©es combinĂ©es (data blending) « DB – Get the max data of the series » comme dĂ©crit ci-dessous pour notre exemple, afin d’accĂ©der Ă la date la plus rĂ©cente de l’ensemble de donnĂ©es Ă chaque ligne de donnĂ©es :
- Table de gauche – Votre source de donnĂ©es principale
- Dimensions : « data_date », « Selected Time Frame »
- Métrique : « Leads »
- (si nécessaire pour votre source de données) Intervalle de dates : « data_date »
- Filtre : aucun
- Table de droite – Votre source de donnĂ©es principale
- Dimensions : aucune
- Métriques : « max_date »
- (si nécessaire pour votre source de données) Intervalle de dates : « data_date »
- Filtre : aucun
- Configuration de la jointure
- Opérateur : Jointure croisée
- Aucune clé
Boutons pour le sĂ©lecteur d’intervalle de temps
L’action suivante consiste Ă ajouter 4 boutons sĂ©lecteur partageant les mĂŞmes styles (ici en violet), juxtaposĂ©s et alignĂ©s horizontalement :
- Les boutons sont ordonnĂ©s par intervalle de temps, et chacun d’eux sera alimentĂ© par l’un des paramètres.
- Le libellé de chaque bouton doit être personnalisé (1M, 3M, 6M, 1Y).
- Tous les boutons doivent appartenir au groupe 1. Assurez-vous de spĂ©cifier le groupe 1 pour chaque bouton : lorsqu’un bouton est cliquĂ©, les autres boutons du groupe prendront la valeur « false ».
- Le premier bouton Ă gauche pour l’intervalle d’un mois est dĂ©fini comme la valeur par dĂ©faut (basculer « Default selection »).
Je recommande d’utiliser une couleur de fond plutĂ´t foncĂ©e pour les boutons afin d’optimiser la lisibilitĂ©, quel que soit l’Ă©tat des boutons (cliquĂ© avec une superposition grise supplĂ©mentaire ou non cliquĂ© dans leur Ă©tat par dĂ©faut).
Configuration du graphique
Enfin, mettons à jour ou ajoutons un graphique en courbes dans notre page de rapport avec la configuration suivante (il ne s’agit pas d’un graphique de série temporelle, mais d’un graphique en courbes pour créer des séries basées sur les données et non sur la plage de dates sélectionnée) :
- Type de graphique : Graphique en courbes
- Onglet « Configurer »
- Source de donnĂ©es : Votre source de donnĂ©es fusionnĂ©e “DB – Get the max data of the series”
- Dimension : Un champ calculé de graphique nommé « Date » correspondant à la formule ci-dessous
- Métrique : Un champ calculé de graphique nommé “Leads” correspondant à la formule ci-dessous
- Tri : Date par ordre croissant
- Plage de dates par défaut : Réglée sur les 366 jours précédents pour l’aligner sur la période la plus large (voir la capture d’écran ci-dessous)
- Onglet Style
- SĂ©rie #1 sous forme de ligne
- Adaptez les autres options de style
Date
CASE
WHEN Selected Time Frame = "m1" AND data_date >= DATETIME_SUB(max_date, INTERVAL 1 MONTH) THEN data_date
WHEN Selected Time Frame = "m3" AND data_date >= DATETIME_SUB(max_date, INTERVAL 3 MONTH) THEN data_date
WHEN Selected Time Frame = "m6" AND data_date >= DATETIME_SUB(max_date, INTERVAL 6 MONTH) THEN data_date
WHEN Selected Time Frame = "y1" AND data_date >= DATETIME_SUB(max_date, INTERVAL 12 MONTH) THEN data_date
ELSE NULL END
Leads
CASE
WHEN Selected Time Frame = "m1" AND data_date >= DATETIME_SUB(max_date, INTERVAL 1 MONTH) THEN Leads
WHEN Selected Time Frame = "m3" AND data_date >= DATETIME_SUB(max_date, INTERVAL 3 MONTH) THEN Leads
WHEN Selected Time Frame = "m6" AND data_date >= DATETIME_SUB(max_date, INTERVAL 6 MONTH) THEN Leads
WHEN Selected Time Frame = "y1" AND data_date >= DATETIME_SUB(max_date, INTERVAL 12 MONTH) THEN Leads
ELSE NULL END
Revue de la configuration
Enfin, passons en revue la configuration et testons notre sĂ©lecteur d’intervalle de temps.
Alternative pour le sĂ©lecteur d’intervalle de temps : requĂŞte personnalisĂ©e BigQuery
L’un des objectifs de cette mĂ©thode Ă©tait de garantir la compatibilitĂ© avec n’importe quelle source de donnĂ©es. Cependant, si votre rapport charge des sources de donnĂ©es BigQuery, les possibilitĂ©s seront bien plus vastes avec une configuration simplifiĂ©e, en utilisant notamment des requĂŞtes personnalisĂ©es. Les mĂŞmes principes autour des paramètres dĂ©crits dans ma mĂ©thode de comparaison de plages de dates personnalisĂ©es interactives sont appliquĂ©s dans ce cas, ce qui permet d’Ă©viter le mĂ©lange de donnĂ©es.