IV. Des étiquettes par groupe▲
La première utilisation d’un diagramme en hémicycle est évidemment de représenter la majorité ou de chercher des majorités alternatives. Le nôtre n’est pas très pratique pour cela, puisqu’il ne montre aucun chiffre. Tentons donc d’ajouter les champs Groupe et Union (Total) en Étiquette (Label).
Nous avons maintenant nos étiquettes, mais cela a provoqué une série de problèmes, du plus trivial au plus complexe :
- Comme la pilule Secteur n’est plus la première sur l’étagère Repères, nous avons perdu l’ordre de tri, ce qui remet l’hémicycle à la verticale ; il suffit bien sûr de glisser à nouveau la pilule Secteur en première position.
- Certaines étiquettes n’apparaissent pas, par manque de place ; il faut donc cliquer sur l’outil Étiquette et Permettre aux étiquettes de recouvrir les autres repères (Allow labels to overlap other marks).
- Le nombre de députés du groupe blanc apparaît, révélant notre supercherie ; un petit IF suffirait pour remplacer ce nombre par un NULL (nous réglerons cela plus tard).
- Le groupe central Renaissance a deux étiquettes, avec 58 députés sur l’une et 112 sur l’autre ; c’est là où les choses se corsent…
Le niveau de granularité de notre graphique est le Secteur, techniquement il est donc normal d’avoir une étiquette pour chaque secteur plutôt que pour chaque groupe, mais c’est particulièrement fâcheux : à la place des deux étiquettes avec 112 et 48 députés, nous voulons une seule étiquette avec 170 députés ; de plus, cette étiquette doit être située du côté qui comporte le plus de députés.
Il y a deux stratégies pour régler ce problème, soit avec des LOD, soit avec du calcul de table. Vous pouvez tester celle que vous préférez, ou même essayer les deux. Dans tous les cas, je vous invite à Dupliquer votre onglet actuel, afin de pouvoir tester différentes variantes sans rien casser.
Une autre amélioration consisterait à utiliser pour les étiquettes la même couleur d'écriture que celle qui a été attribuée au groupe ; pour cela, cliquez sur l'outil Étiquette puis sur Police, et choisissez Faire correspondre à la couleur du repère. Cela présente en outre l'avantage de faire disparaître l'étiquette du groupe des bouche-trous, qui se retrouve en blanc sur blanc. Je n'ai pas retenu cette option parce que nous allons de toute façon devoir utiliser des formules pour régler le problème de la double étiquette du groupe central, mais vous pouvez parfaitement l'appliquer.
IV-A. avec des LOD▲
Notre graphique comporte deux dimensions, Secteurs et Groupes, qui sont hiérarchisées (un secteur appartient à un seul groupe, un groupe peut avoir deux secteurs). Tableau connaît donc trois niveaux de calcul :
- le niveau détaillé des données, qui correspond au député ;
- le niveau de granularité du graphique, qui est le Secteur ;
- le niveau Groupe, qui détermine la couleur.
Voici un petit schéma présentant les données aux trois niveaux, pour Renaissance et (à titre de comparaison) pour les deux groupes adjacents, NI et Dem :
Nos étiquettes sont au niveau de granularité du graphique (donc Secteur), les LOD vont permettre de récupérer les valeurs situées au niveau supérieur (données plus agrégées) ou au niveau inférieur (données plus détaillées).
IV-A-1. Exercice : calculer l'effectif au niveau groupe**▲
Créez un nouveau champ calculé, Étiquette LOD, qui permet de récupérer le nombre de députés au niveau Groupe, puis utilisez-le en étiquette à la place du COUNT(Union).
IV-A-2. Réponse▲
IV-A-3. Exercice : déterminer l'effectif plus gros secteur du groupe***▲
Commencez par modifier le champ calculé précédent, pour afficher maintenant l’effectif du plus gros secteur du groupe. Schématiquement, votre formule doit faire ceci :
IV-A-4. Réponse ▲
IV-A-5. Exercice : comparer les effectifs***▲
Modifiez maintenant la formule pour afficher le mot « étiquette » si l’effectif du secteur correspond à l’effectif du plus gros secteur du groupe, et le mot « rien » sinon.
IV-A-6. Réponse▲
IV-A-7. Exercice : calculer le texte des étiquettes**▲
À partir des différents tests que nous venons d’effectuer, mettez au point la formule finale, qui doit afficher le nom et l’effectif de chaque groupe, à l’exception du groupe blanc.
IV-A-8. Réponse▲
IV-B. avec des calculs de table▲
Dans une base de données relationnelle, les tables ne prévoient pas d’ordre de stockage ; selon l’analogie coutumière, les enregistrements sont dans leur table comme des billes dans un sac. Avec les LOD, nous sommes restés dans cette logique et nous avons raisonné en termes de correspondances entre niveaux d’agrégation.
Tableau propose un autre mécanisme, qui consiste à calculer à partir des données affichées sur la représentation graphique, ce qui permet notamment d’utiliser l’ordre de tri pour mettre en place des notions comme « donnée précédente », « donnée suivante », « première ligne », « dernière ligne ». Ce mécanisme est étrangement appelé Calcul de table (Table Calculation) – j’imagine que la « table » en question est la table de données calculées qui sous-tend le graphique. Vous avez sans doute déjà rencontré ou utilisé ce système ? Pour mémoire, il est symbolisé par l’apparition d’un delta (∆) sur les pilules qui y font appel.
Je vous invite maintenant à revenir à l’onglet comportant l’hémicycle tel qu’il était au début de cette partie, donc avec les deux étiquettes 112 et 58 pour le groupe Renaissance. Nos secteurs y sont triés selon le champ Tri horaire, c’est-à-dire du centre droit au centre gauche en passant par l’extrême droite, les bouche-trous puis l’extrême gauche.
Par construction, le doublon d’étiquette concerne le groupe central (celui qui se retrouve scindé par la médiane du tri gauche-droite des députés). Les deux secteurs en cause sont donc nécessairement le premier et le dernier de l’ordre de tri horaire. Voici à nouveau mon schéma avec les trois niveaux député, Secteur et Groupe du groupe Renaissance et de ses deux voisins, mais réorganisé pour suivre cet ordre :
On peut donc maintenant raisonner en termes de position :
- entre la première et la dernière étiquette, il faut masquer celle des deux qui porte l’effectif le plus faible) ;
- l’autre doit afficher l’effectif total des deux (donc 58 + 112 = 170) ;
- l’étiquette du groupe blanc doit également être masquée ;
- les autres étiquettes doivent s’afficher normalement.
Ce raisonnement théorique est plus simple et plus intuitif que celui des LOD, notamment parce que tout se passe au niveau de granularité du graphique. Dans la pratique toutefois, la mise en place n’est pas complètement évidente…
Comme tout repose sur notre capacité à repérer le premier et le dernier secteur, commençons par essayer d’afficher leur ordre d’apparition. Créez un nouveau champ calculé, Étiquette Table Calc, avec simplement la fonction INDEX, qui donne l’ordre des éléments de la représentation graphique. Mettez maintenant ce champ en Étiquette, vous devriez obtenir ce résultat (quelque peu décevant) :
IV-B-1. Exercice : paramétrer le calcul de table***▲
Cliquez maintenant sur le symbole ∆ de la pilule Étiquette Table Calc, choisissez Modifier le calcul de table (Edit Table Calculation), et torturez le calcul de table jusqu’à ce qu’il numérote nos secteurs de 1 à 13 dans l’ordre du tri horaire.
IV-B-2. Réponse▲
IV-B-3. Exercice : tester la première et la dernière position*▲
La fonction permettant d’aller chercher la valeur sur un autre secteur est LOOKUP, elle s’appuie sur deux autres fonctions nommées FIRST et LAST. Ces deux dernières fonctions, qui s’utilisent sans argument, donnent l’écart entre l’étiquette en cours de calcul et la première ou la dernière position.
Comme ce n’est pas forcément très clair dit comme ça, modifiez maintenant le champ calculé pour afficher la valeur de FIRST et LAST sur chaque secteur.
IV-B-4. Réponse▲
IV-B-5. Exercice : récupérer la première valeur*▲
Nous allons maintenant tester la fonction LOOKUP(). Modifiez le champ calculé pour que l’effectif du premier secteur (58) s’affiche sur toutes les étiquettes, comme ci-dessous :
IV-B-6. Réponse▲
IV-B-7. Exercice : calculer le texte des étiquettes**▲
Tous les éléments sont maintenant à votre disposition, il ne vous reste plus qu’à mettre au point la formule des étiquettes.
Si vous avez suivi la construction des étiquettes avec des LOD, vous devriez savoir résoudre les erreurs cannot mix aggregate and non-aggregate. Si ce n’est pas le cas, je vous invite à consulter ce passage.
IV-B-8. Réponse▲
IV-B-9. Finalisation▲
Vous pouvez maintenant cacher la légende des couleurs, qui est redondante par rapport aux étiquettes.
On le voit sur cet exemple, la principale difficulté est d’obtenir le bon paramétrage du calcul de table ; une fois cet obstacle franchi, la syntaxe est plus simple et plus directe que celle des LOD.