Échafaudage avec dates relatives

March 30, 2026
January 25, 2023
5
min read

Très souvent, il est nécessaire de visualiser les données sous une forme historique. D'autre part, la plupart du temps, le stockage des données directement sous forme historique est inefficace et nécessite de dupliquer les mêmes données pour chaque point historique. Par exemple, il est souvent nécessaire de compter le nombre de personnes présentes dans une entreprise au fil du temps, mais il est très inefficace de créer une base de données dans laquelle les données de chaque employé sont répétées chaque jour... Il est préférable de stocker les données de chaque employé une fois avec une date de début et une date de fin. Échafaudages est une technique qui vous aide à combler le fossé entre une visualisation historique et un stockage de données efficace.

Prenons un cas d'utilisation concret. Les entreprises sont très préoccupées par leurs performances et tiennent souvent des bases de données sur la gestion de projets pour suivre l'état de leurs projets. Certains le font sur Excel, d'autres utilisent des outils PMO ; au final, le résultat est le même : ils disposent de données sur leurs projets. Dates de début, dates cibles, dates de fin, jalons, responsable du projet. Puisque nous voulons effectuer un suivi, nous devons visualiser ces données sous une forme historique pour obtenir des informations.

Voici un ensemble de données minimal. Il contient simplement le nom du projet, la date de début, la date cible et la date de fin.

Supposons maintenant que votre patron vous assigne une tâche apparemment très simple : surveiller le nombre de projets en retard chaque mois au cours des 12 derniers mois.

Cela semble assez simple mais bon, vous vous rendez vite compte que la date de votre axe n'est pas dans la base de données... ! En fait, vous devez comparer les dates de la base de données avec une date de référence (et entre elles). Pour cette tâche, vous pouvez utiliser l'échafaudage, qui est essentiellement une technique qui consiste à joindre votre jeu de données à un ensemble de données de référence ; dans ce cas, juste un calendrier !

Échafaudages de base

Tout d'abord, vous devez définir un calendrier. Le patron veut des résultats par mois et nous pouvons donc créer un calendrier avec tous les mois compris entre la date minimale et la date maximale de notre échantillon de données. Ce sera publié données de référence! Ou en d'autres termes, la quantité sur notre axe.

Nous devons maintenant le joindre à nos données. Dans Tableau Desktop vous pouvez charger les deux sources puis les joindre en créant 2 calculs de jointure des deux côtés où le calcul est juste « 1 ».

La jointure ressemble à ceci :

Cette jointure est efficace crée une copie de tous les projets pour chacune des lignes du calendrier de référence. Nous pouvons maintenant comparer les dates cible et de fin à la date de référence.

Pour calculer si un projet est en retard dans un mois donné, nous pouvons effectuer le calcul suivant

Ici, le cas où la date de fin est manquante est considéré comme si le projet n'était pas encore terminé.

Pour terminer la visualisation et faire plaisir à notre patron, mettons simplement la date de référence sur les colonnes et le nombre d'enregistrements sur les lignes et enfin un filtre sur IsLate.

Ops... notre entreprise est en retard... mais nous avons au moins fait notre travail.

Échafaudage optimisé avec date relative

L'échafaudage est beau mais il peut heurter performance dur. Pensez à une grande entreprise avec 10 000 projets qui souhaite suivre son projet au quotidien et qui dispose de 60 ans de données accumulées. Cela équivaudrait à 10 000 x 21900 ~ 200 millions de lignes. Cela ne fonctionnera pas rapidement si vous ne disposez pas d'une base de données performante...

En plus, il est difficile à entretenir. Parce que : qu'en est-il de l'avenir ? Si je veux que mon tableau de bord fonctionne encore dans 10 ans, je dois préparer un calendrier contenant toutes les dates futures. Et qu'en sera-t-il après cette journée ?

Mais n'oubliez pas que notre patron ne s'intéresse qu'à 12 mois. Nous n'avons donc pas besoin de faire des copies de nos données tous les mois, nous avons juste besoin de 12 copies ! Et cela résoudra également le problème de maintenance, vous verrez.

Alors maintenant, au lieu de créer un vrai calendrier, échafaudons en utilisant un mois relatif ou, en d'autres termes, uniquement des entiers : 0, -1, -2, -3, etc.

La jointure aux données du projet est exactement la même que précédemment, avec un calcul de jointure 1=1.

Nous devons maintenant comparer cet entier à une date avec un calcul simple

« Mois » contient désormais les 12 derniers mois à compter d'aujourd'hui.

(Une autre version serait d'utiliser un paramètre permettant à l'utilisateur de choisir la date de début du graphique.)

Après cela, les calculs sont exactement les mêmes que précédemment et nous obtenons le même graphique

Mais le mois prochain, les dates seront déplacées et le problème des dates futures sera résolu. En plus, nous venons de multiplier notre base de données par 12 mois. Si c'est encore trop, vous pouvez utiliser Préparation à Tableau pour prétraiter les données et connecter l'échafaudage hors ligne.

Attention !

Faites attention à ce que vos données soient multipliées lorsque vous utilisez un échafaudage. Lorsque vous avez le champ de référence (dans la plupart des cas, la date du calendrier) dans la vue, tout fonctionne normalement, mais lorsque vous ne l'avez pas, vous devez utiliser « compter séparément » pour compter les éléments. Par exemple, si vous voulez compter le nombre de projets que vous avez au total, vous ne pouvez plus compter les lignes de la base de données car il y a 12 copies de chaque projet ! Vous pouvez à la place effectuer un décompte distinct du nom du projet.

Autres utilisations des échafaudages

Un autre cas d'utilisation de l'échafaudage pourrait consister à intégrer les données manquantes.

Supposons que vous souhaitiez créer un graphique indiquant le nombre de produits que vous avez vendus mais que vous n'avez pas encore vendu tous les produits. Vous ne verrez pas du tout apparaître le nouveau produit... ! Mais vous voulez le voir, avec un 0 à côté. Oui, en effet, les patrons sont très exigeants...

Dans ce cas, vous pouvez créer une liste de tous les produits disponibles, puis la joindre aux données de vente par une jointure gauche. Maintenant, si vos ventes sont là, elles apparaîtront, sinon, une valeur nulle apparaîtra. Convertissez simplement les valeurs nulles en 0 et le travail est terminé !

Cette solution utilise également une jointure de vos données avec une référence, c'est donc aussi un échafaudage !

Tableau
Tableau
Tableau

Très souvent, il est nécessaire de visualiser les données sous une forme historique. D'autre part, la plupart du temps, le stockage des données directement sous forme historique est inefficace et nécessite de dupliquer les mêmes données pour chaque point historique. Par exemple, il est souvent nécessaire de compter le nombre de personnes présentes dans une entreprise au fil du temps, mais il est très inefficace de créer une base de données dans laquelle les données de chaque employé sont répétées chaque jour... Il est préférable de stocker les données de chaque employé une fois avec une date de début et une date de fin. Échafaudages est une technique qui vous aide à combler le fossé entre une visualisation historique et un stockage de données efficace.

Prenons un cas d'utilisation concret. Les entreprises sont très préoccupées par leurs performances et tiennent souvent des bases de données sur la gestion de projets pour suivre l'état de leurs projets. Certains le font sur Excel, d'autres utilisent des outils PMO ; au final, le résultat est le même : ils disposent de données sur leurs projets. Dates de début, dates cibles, dates de fin, jalons, responsable du projet. Puisque nous voulons effectuer un suivi, nous devons visualiser ces données sous une forme historique pour obtenir des informations.

Voici un ensemble de données minimal. Il contient simplement le nom du projet, la date de début, la date cible et la date de fin.

Supposons maintenant que votre patron vous assigne une tâche apparemment très simple : surveiller le nombre de projets en retard chaque mois au cours des 12 derniers mois.

Cela semble assez simple mais bon, vous vous rendez vite compte que la date de votre axe n'est pas dans la base de données... ! En fait, vous devez comparer les dates de la base de données avec une date de référence (et entre elles). Pour cette tâche, vous pouvez utiliser l'échafaudage, qui est essentiellement une technique qui consiste à joindre votre jeu de données à un ensemble de données de référence ; dans ce cas, juste un calendrier !

Échafaudages de base

Tout d'abord, vous devez définir un calendrier. Le patron veut des résultats par mois et nous pouvons donc créer un calendrier avec tous les mois compris entre la date minimale et la date maximale de notre échantillon de données. Ce sera publié données de référence! Ou en d'autres termes, la quantité sur notre axe.

Nous devons maintenant le joindre à nos données. Dans Tableau Desktop vous pouvez charger les deux sources puis les joindre en créant 2 calculs de jointure des deux côtés où le calcul est juste « 1 ».

La jointure ressemble à ceci :

Cette jointure est efficace crée une copie de tous les projets pour chacune des lignes du calendrier de référence. Nous pouvons maintenant comparer les dates cible et de fin à la date de référence.

Pour calculer si un projet est en retard dans un mois donné, nous pouvons effectuer le calcul suivant

Ici, le cas où la date de fin est manquante est considéré comme si le projet n'était pas encore terminé.

Pour terminer la visualisation et faire plaisir à notre patron, mettons simplement la date de référence sur les colonnes et le nombre d'enregistrements sur les lignes et enfin un filtre sur IsLate.

Ops... notre entreprise est en retard... mais nous avons au moins fait notre travail.

Échafaudage optimisé avec date relative

L'échafaudage est beau mais il peut heurter performance dur. Pensez à une grande entreprise avec 10 000 projets qui souhaite suivre son projet au quotidien et qui dispose de 60 ans de données accumulées. Cela équivaudrait à 10 000 x 21900 ~ 200 millions de lignes. Cela ne fonctionnera pas rapidement si vous ne disposez pas d'une base de données performante...

En plus, il est difficile à entretenir. Parce que : qu'en est-il de l'avenir ? Si je veux que mon tableau de bord fonctionne encore dans 10 ans, je dois préparer un calendrier contenant toutes les dates futures. Et qu'en sera-t-il après cette journée ?

Mais n'oubliez pas que notre patron ne s'intéresse qu'à 12 mois. Nous n'avons donc pas besoin de faire des copies de nos données tous les mois, nous avons juste besoin de 12 copies ! Et cela résoudra également le problème de maintenance, vous verrez.

Alors maintenant, au lieu de créer un vrai calendrier, échafaudons en utilisant un mois relatif ou, en d'autres termes, uniquement des entiers : 0, -1, -2, -3, etc.

La jointure aux données du projet est exactement la même que précédemment, avec un calcul de jointure 1=1.

Nous devons maintenant comparer cet entier à une date avec un calcul simple

« Mois » contient désormais les 12 derniers mois à compter d'aujourd'hui.

(Une autre version serait d'utiliser un paramètre permettant à l'utilisateur de choisir la date de début du graphique.)

Après cela, les calculs sont exactement les mêmes que précédemment et nous obtenons le même graphique

Mais le mois prochain, les dates seront déplacées et le problème des dates futures sera résolu. En plus, nous venons de multiplier notre base de données par 12 mois. Si c'est encore trop, vous pouvez utiliser Préparation à Tableau pour prétraiter les données et connecter l'échafaudage hors ligne.

Attention !

Faites attention à ce que vos données soient multipliées lorsque vous utilisez un échafaudage. Lorsque vous avez le champ de référence (dans la plupart des cas, la date du calendrier) dans la vue, tout fonctionne normalement, mais lorsque vous ne l'avez pas, vous devez utiliser « compter séparément » pour compter les éléments. Par exemple, si vous voulez compter le nombre de projets que vous avez au total, vous ne pouvez plus compter les lignes de la base de données car il y a 12 copies de chaque projet ! Vous pouvez à la place effectuer un décompte distinct du nom du projet.

Autres utilisations des échafaudages

Un autre cas d'utilisation de l'échafaudage pourrait consister à intégrer les données manquantes.

Supposons que vous souhaitiez créer un graphique indiquant le nombre de produits que vous avez vendus mais que vous n'avez pas encore vendu tous les produits. Vous ne verrez pas du tout apparaître le nouveau produit... ! Mais vous voulez le voir, avec un 0 à côté. Oui, en effet, les patrons sont très exigeants...

Dans ce cas, vous pouvez créer une liste de tous les produits disponibles, puis la joindre aux données de vente par une jointure gauche. Maintenant, si vos ventes sont là, elles apparaîtront, sinon, une valeur nulle apparaîtra. Convertissez simplement les valeurs nulles en 0 et le travail est terminé !

Cette solution utilise également une jointure de vos données avec une référence, c'est donc aussi un échafaudage !

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.