IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Comment faire un graphique en hémicycle avec Tableau ?

Un cas pratique pour aller plus loin


précédentsommairesuivant

VI. Déborder sur les côtés

Pour terminer, intéressons-nous à l’aspect graphique, qui va nous permettre à la fois d’améliorer l’esthétique et de découvrir certains mécanismes et certaines limites de Tableau.

Nous nous sommes fondés sur une définition stricte de l’hémicycle comme un demi-cercle, autrement dit un périmètre extérieur formant un arc de cercle de 180°. Mais dans la pratique, les assemblées réelles comme leurs représentations graphiques vont souvent dépasser cet angle. À titre d’exemple, l’Assemblée Nationale réelle forme un arc total d’environ 190°.

L'Assemblée Nationale vue de haut

Sur le principe, cela devrait être assez simple. Il suffit de créer un paramètre pour que l’utilisateur choisisse l’arc souhaité, et de filtrer suffisamment de bouche-trous. La difficulté est donc de transformer une quantité en une sélection.

Si vous avez vraiment besoin de faire une représentation en hémicycle avec un arc supérieur à 180°, la solution la plus simple est d’utiliser Excel ou un autre outil pour ajouter un numéro incrémental sur de fichier de données. Si ensuite vous avez besoin de filtrer 20 bouche-trous, il suffira dans Tableau de filtrer sur « Groupe différent de blanc OU numéro supérieur à 20 » pour éliminer les 20 premiers bouche-trous.

Cet article visant à explorer les possibilités de Tableau, je voudrais décrire ici des solutions purement Tableau, sans modifier le fichier de données. La première question est donc de savoir s’il est possible de faire cette numérotation dans Tableau.

La difficulté est que toutes les fonctions qui permettent de générer ce type de numérotation (INDEX, RANK, RUNNING_COUNT, WINDOW_COUNT, etc.) reposent sur un calcul de table ; comme nous voulons numéroter des lignes individuelles, le calcul de table devra se faire selon l’identifiant (ou une autre dimension jouant ce rôle, par exemple la combinaison nom/prénom). Comme les calculs de tables se font sur le graphique lui-même, cela nous forcerait donc à inclure l’identifiant dans la représentation graphique (a priori en Détails), avec pour effet de descendre la granularité du graphique au niveau du député. On se retrouverait donc avec une étiquette par député au lieu d’une étiquette par secteur, et il faudrait revoir nos formules d’étiquette pour déterminer celles qui s’affichent parmi les 573 possibles…

On voit que cela n’est pas impossible (on pourrait déterminer le député médian de chaque groupe pour positionner l’étiquette au milieu), mais assez laborieux, et cela ne nous ferait utiliser que des mécanismes que nous avons déjà travaillés.

Si vous trouvez une meilleure solution, n'hésitez pas à la proposer en commentairesLien vers la discussion !

Je voudrais donc vous proposer deux approches différentes, dont le résultat n’est pas parfait, mais qui vont nous permettre de voir de nouveaux aspects de Tableau. Je vous invite donc à dupliquer votre dernier onglet, afin de pouvoir comparer les deux versions différentes.

VI-A. avec un pourcentage de débordement

Notre hémicycle sans débordement est à 180°, cela correspond au cas où il y a exactement autant de bouche-trous que de députés. Le débordement maximal consisterait à aller jusqu’à 360°, donc un camembert complet, c’est-à-dire aucun bouche-trou.

VI-A-1. Exercice : créer le % débordement*

Faites le nécessaire pour qu’un utilisateur final de votre classeur puisse choisir lui-même un pourcentage de débordement, de 0% à 100%.

VI-A-2. Réponse

VI-A-3. Exercice : créer le flag***

Créez maintenant un champ calculé « Filtre débordement » renvoyant une valeur booléenne, qui doit être Faux pour la proportion souhaitée de bouche-trous ; autrement dit, si l’utilisateur choisit 10% de débordement, votre champ doit être Faux pour 10% des bouche-trous.

VI-A-4. Réponse

VI-A-5. Exercice : calculer l’angle obtenu d’après le % débordement**

Déterminez la formule à utiliser pour trouver l’angle formé par notre hémicycle, en fonction du % débordement, puis créez un champ calculé « Angle obtenu ».

VI-A-6. Réponse

VI-A-7. Exercice : afficher l’angle obtenu*

Masquez le pourcentage tout en conservant le curseur, puis trouvez un moyen d’afficher juste en-dessous l’angle obtenu par le débordement choisi au curseur.

VI-A-8. Réponse

VI-B. Avec la méthode de Monte-Carlo

Changeons maintenant de perspective : nous allons vraiment demander à l’utilisateur l’angle qu’il souhaite, et calculer la part de bouche-trous à éliminer. Comme nous avons vu que cela nous interdit d’utiliser la fonction PERCENTILE() pour choisir les victimes, nous allons simplement les tirer au sort !

Cela vous surprendra peut-être, mais les algorithmes de calcul fondés sur des processus aléatoires, plaisamment surnommés Méthode de Monte-Carlo, forment une technique statistique reconnue, utilisée notamment en physique des particules. L'exemple archétypique consiste à mesurer la surface d'un lac en tirant une série de boulets de canon sur un carré de terrain englobant le lac : la proportion de boulets tombés à l'eau indique la proportion de la surface occupée par le lac !

VI-B-1. Exercice : créer le nouveau paramètre*

Créez un second paramètre, Angle souhaité, et réglez l’ensemble des options.

VI-B-2. Réponse

VI-B-3. Exercice : calculer la part de bouche-trous à éliminer*

Sur papier, trouvez la formule qui calcule le pourcentage de bouche-trous à filtrer en fonction de l’angle choisi par l’utilisateur. Puis, dans Tableau, créez un champ calculé % élimination qui implémente votre formule.

VI-B-4. Réponse

VI-B-5. Exercice : filtrer aléatoirement*

Nous connaissons maintenant le pourcentage de bouche-trous à filtrer. Ce serait assez déloyal de vous demander de deviner la fonction à utiliser pour faire un tirage au sort, car celle-ci est une fonction secrète, ou du moins une fonction non-documentée : elle se nomme RANDOM, n’utilise aucun argument, et a pour effet de générer aléatoirement un nombre décimal compris entre zéro et un.

Créez maintenant un champ calculé Filtre Monte-Carlo, renvoyant Vrai pour les députés réels et la bonne proportion de bouche-trous à garder, et Faux pour la proportion de bouche-trous à éliminer.

VI-B-6. Réponse

VI-B-7. Exercice : assembler les morceaux*

Vous avez maintenant tous les éléments. Repartez de la feuille que vous avez copiée avant d’aborder la méthode des percentiles, et faites en sorte que l’utilisateur puisse choisir son angle et obtienne la visualisation souhaitée.

VI-B-8. Réponse


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2023 Antoine Dinimant. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.