Barres côte à côte sur un axe de date

Le problème est de tracer deux barres côte à côte, sur la base de deux mesures différentes, sur un axe date (/heure). Pour chaque mesure, l'axe « date » a la même valeur. L'effet original du tableau est donc d'avoir des barres empilées.
Nous examinons ici un scénario concret pour montrer comment réaliser des barres côte à côte dans un tel scénario.
Ensemble de données et exigences
Nous disposons d'un ensemble de données indiquant le nombre de tickets ouverts, fermés et en cours de traitement chaque mois.

Le objectif consiste à afficher le résultat suivant dans Tableau :

Une première approche peut consister à mettre en couleur les « noms des mesures » et les « Valeurs des mesures » sur l'étagère des rangées, ce qui se traduira par des barres empilées.


Création du graphique à barres côte à côte
Afin de réaliser la configuration côte à côte, nous modifierons notre source de données de la manière suivante :
1.
Créez une union de l'ensemble de données avec lui-même, c'est-à-dire répétez l'ensemble de données.
Attention : si vous insérez le même jeu de données dans le volet des sources de données, Tableau essaiera par défaut de créer une « relation », comme indiqué par la ligne orange ondulée ci-dessous.

Pour créer l'union, vous devez double-cliquer sur l'ensemble de données

Ensuite, insérez à nouveau le même jeu de données dans le volet. Maintenez le clic gauche enfoncé et passez la souris juste en dessous du tableau existant. Tableau vous indiquera où déposer le nouveau tableau pour créer une union :

Si vous examinez le jeu de données obtenu, vous remarquerez que Tableau a créé « Nom de la table » et qu'il garde une trace de chaque table introduite dans l'union. Nous utiliserons cette colonne pour créer des champs personnalisés dans ce qui suit.
2.
Créez les nouveaux champs suivants dans votre jeu de données Tableau. Le « nb jours » est un paramètre avec une valeur entière, et sa valeur est définie sur 5 pour cet exemple.
Nom de la variable : Date de l'axe
IF RIGHT ([Table Name],1) = '1' THEN DATEADD('day', [nb days], [Month]) ELSE [Month] ENDNom de la variable : Tickets fermés
IF RIGHT ([Table Name],1) = '1' THEN 0 ELSE [Closed] ENDNom de la variable : Tickets ouverts
IF RIGHT ([Table Name],1) = '1' THEN [Opened] ELSE 0 ENDLe jeu de données ressemblera désormais à :

3.
Placez la « Date de l'axe » sur l'étagère des colonnes, mesurez les valeurs sur l'étagère des lignes et mesurez les noms à colorier. Filtrez les noms des mesures pour ne conserver que les « tickets ouverts » et les « tickets fermés ». Assurez-vous que la « Date pour l'axe » est réglée sur « continue » et que sa granularité est définie sur « jour ».
Placez ensuite la mesure « En cours » sur l'étagère de la rangée, créez un double axe entre « En cours » et « Valeurs de mesure », alignez les deux axes et masquez le second axe.
Cela créera le graphique à barres requis :

Le problème est de tracer deux barres côte à côte, sur la base de deux mesures différentes, sur un axe date (/heure). Pour chaque mesure, l'axe « date » a la même valeur. L'effet original du tableau est donc d'avoir des barres empilées.
Nous examinons ici un scénario concret pour montrer comment réaliser des barres côte à côte dans un tel scénario.
Ensemble de données et exigences
Nous disposons d'un ensemble de données indiquant le nombre de tickets ouverts, fermés et en cours de traitement chaque mois.

Le objectif consiste à afficher le résultat suivant dans Tableau :

Une première approche peut consister à mettre en couleur les « noms des mesures » et les « Valeurs des mesures » sur l'étagère des rangées, ce qui se traduira par des barres empilées.


Création du graphique à barres côte à côte
Afin de réaliser la configuration côte à côte, nous modifierons notre source de données de la manière suivante :
1.
Créez une union de l'ensemble de données avec lui-même, c'est-à-dire répétez l'ensemble de données.
Attention : si vous insérez le même jeu de données dans le volet des sources de données, Tableau essaiera par défaut de créer une « relation », comme indiqué par la ligne orange ondulée ci-dessous.

Pour créer l'union, vous devez double-cliquer sur l'ensemble de données

Ensuite, insérez à nouveau le même jeu de données dans le volet. Maintenez le clic gauche enfoncé et passez la souris juste en dessous du tableau existant. Tableau vous indiquera où déposer le nouveau tableau pour créer une union :

Si vous examinez le jeu de données obtenu, vous remarquerez que Tableau a créé « Nom de la table » et qu'il garde une trace de chaque table introduite dans l'union. Nous utiliserons cette colonne pour créer des champs personnalisés dans ce qui suit.
2.
Créez les nouveaux champs suivants dans votre jeu de données Tableau. Le « nb jours » est un paramètre avec une valeur entière, et sa valeur est définie sur 5 pour cet exemple.
Nom de la variable : Date de l'axe
IF RIGHT ([Table Name],1) = '1' THEN DATEADD('day', [nb days], [Month]) ELSE [Month] ENDNom de la variable : Tickets fermés
IF RIGHT ([Table Name],1) = '1' THEN 0 ELSE [Closed] ENDNom de la variable : Tickets ouverts
IF RIGHT ([Table Name],1) = '1' THEN [Opened] ELSE 0 ENDLe jeu de données ressemblera désormais à :

3.
Placez la « Date de l'axe » sur l'étagère des colonnes, mesurez les valeurs sur l'étagère des lignes et mesurez les noms à colorier. Filtrez les noms des mesures pour ne conserver que les « tickets ouverts » et les « tickets fermés ». Assurez-vous que la « Date pour l'axe » est réglée sur « continue » et que sa granularité est définie sur « jour ».
Placez ensuite la mesure « En cours » sur l'étagère de la rangée, créez un double axe entre « En cours » et « Valeurs de mesure », alignez les deux axes et masquez le second axe.
Cela créera le graphique à barres requis :

