Excel Power Pivot - Hiérarchies

Une hiérarchie dans Data Model est une liste de colonnes imbriquées dans une table de données qui sont considérées comme un élément unique lorsqu'elles sont utilisées dans un Power PivotTable. Par exemple, si vous avez les colonnes - Pays, État, Ville dans une table de données, une hiérarchie peut être définie pour combiner les trois colonnes dans un champ.

Dans la liste Champs du tableau croisé dynamique Power, la hiérarchie apparaît sous la forme d'un champ. Ainsi, vous pouvez ajouter un seul champ au tableau croisé dynamique, au lieu des trois champs de la hiérarchie. De plus, il vous permet de monter ou de descendre les niveaux imbriqués de manière significative.

Considérez le modèle de données suivant pour les illustrations de ce chapitre.

Créer une hiérarchie

Vous pouvez créer des hiérarchies dans la vue de diagramme du modèle de données. Notez que vous pouvez créer une hiérarchie basée sur une seule table de données.

  • Cliquez sur les colonnes - Sport, DisciplineID et Event dans le tableau de données Medal dans cet ordre. N'oubliez pas que l'ordre est important pour créer une hiérarchie significative.

  • Faites un clic droit sur la sélection.

  • Sélectionnez Créer une hiérarchie dans la liste déroulante.

Le champ de hiérarchie avec les trois champs sélectionnés lors de la création des niveaux enfants.

Renommer une hiérarchie

Pour renommer le champ de hiérarchie, procédez comme suit -

  • Cliquez avec le bouton droit sur Hierarchy1.

  • Sélectionnez Renommer dans la liste déroulante.

Type EventHierarchy.

Création d'un tableau croisé dynamique avec une hiérarchie dans le modèle de données

Vous pouvez créer un tableau croisé dynamique puissant à l'aide de la hiérarchie que vous avez créée dans le modèle de données.

  • Cliquez sur l'onglet Tableau croisé dynamique sur le ruban dans la fenêtre Power Pivot.

  • Cliquez sur tableau croisé dynamique sur le ruban.

le Create PivotTablela boîte de dialogue apparaît. Sélectionnez Nouvelle feuille de calcul et cliquez sur OK.

Un tableau croisé dynamique vide est créé dans une nouvelle feuille de calcul.

Dans la liste Champs de tableau croisé dynamique, EventHierarchyapparaît comme un champ dans la table des médailles. Les autres champs de la table des médailles sont réduits et affichés en tant que champs supplémentaires.

  • Cliquez sur la flèche devant EventHierarchy.

  • Cliquez sur la flèche devant Plus de champs.

Les champs sous EventHierarchy seront affichés. Tous les champs du tableau Médailles seront affichés sous Plus de champs.

Comme vous pouvez le constater, les trois champs que vous avez ajoutés à la hiérarchie apparaissent également sous More Fieldsavec des cases à cocher. Si vous ne souhaitez pas qu'ils apparaissent dans la liste Champs de tableau croisé dynamique sousMore Fields, vous devez masquer les colonnes dans la table de données - Médailles dans la vue des données dans la fenêtre Power Pivot. Vous pouvez toujours les afficher quand vous le souhaitez.

Ajoutez des champs au tableau croisé dynamique comme suit -

  • Traîne EventHierarchy dans la zone ROWS.

  • Faites glisser Medal vers la zone ∑ VALEURS.

Les valeurs du champ Sport apparaissent dans le tableau croisé dynamique avec un signe + devant elles. Le nombre de médailles pour chaque sport est affiché.

  • Cliquez sur le signe + avant Aquatics. Les valeurs du champ DisciplineID sous Aquatiques seront affichées.

  • Cliquez sur l'enfant D22 qui apparaît. Les valeurs du champ Événement sous D22 seront affichées.

Comme vous pouvez le constater, le nombre de médailles est donné pour les événements, qui se résument au niveau des parents - DisciplineID, qui se résument davantage au niveau des parents - Sport.

Création d'une hiérarchie basée sur plusieurs tables

Supposons que vous souhaitiez afficher les disciplines dans le tableau croisé dynamique plutôt que les DisciplineID pour en faire une synthèse plus lisible et compréhensible. Pour ce faire, vous devez avoir le champ Discipline dans la table des médailles qui, comme vous le savez, ne l'est pas. Le champ Discipline se trouve dans la table de données Disciplines, mais vous ne pouvez pas créer une hiérarchie avec des champs provenant de plusieurs tables. Mais, il existe un moyen d'obtenir le champ requis à partir de l'autre table.

Comme vous le savez, les tableaux - Médailles et Disciplines sont liés. Vous pouvez ajouter le champ Discipline de la table Disciplines à la table Médailles, en créant une colonne à l'aide de la relation avec DAX.

  • Cliquez sur l'affichage des données dans la fenêtre Power Pivot.

  • Cliquez sur l'onglet Conception sur le ruban.

  • Cliquez sur Ajouter.

La colonne - Ajouter une colonne sur le côté droit du tableau est mise en évidence.

Type = RELATED (Disciplines [Discipline])dans la barre de formule. Une nouvelle colonne -CalculatedColumn1 est créé avec les valeurs en tant que valeurs de champ Discipline dans la table Disciplines.

Renommez la nouvelle colonne ainsi obtenue dans la table Médailles en Discipline. Ensuite, vous devez supprimer DisciplineID de la hiérarchie et ajouter Discipline, que vous apprendrez dans les sections suivantes.

Suppression d'un niveau enfant d'une hiérarchie

Comme vous pouvez le constater, la hiérarchie est visible uniquement dans la vue de diagramme, et non dans la vue de données. Par conséquent, vous ne pouvez modifier une hiérarchie que dans la vue de diagramme.

  • Cliquez sur la vue du diagramme dans la fenêtre Power Pivot.

  • Cliquez avec le bouton droit sur DisciplineID dans EventHierarchy.

  • Sélectionner Remove from Hierarchy dans la liste déroulante.

La boîte de dialogue Confirmer s'affiche. Cliquez surRemove from Hierarchy.

Le champ DisciplineID est supprimé de la hiérarchie. N'oubliez pas que vous avez supprimé le champ de la hiérarchie, mais que le champ source existe toujours dans la table de données.

Ensuite, vous devez ajouter le champ Discipline à EventHierarchy.

Ajout d'un niveau enfant à une hiérarchie

Vous pouvez ajouter le champ Discipline à la hiérarchie existante - EventHierarchy comme suit -

  • Cliquez sur le champ dans le tableau des médailles.

  • Faites-le glisser vers le champ Evénements ci-dessous dans EventHierarchy.

Le champ Discipline est ajouté à EventHierarchy.

Comme vous pouvez le constater, l'ordre des champs dans EventHierarchy est Sport – Event – ​​Discipline. Mais, comme vous le savez, il doit s'agir d'un événement sportif-discipline-événement. Par conséquent, vous devez modifier l'ordre des champs.

Modification de l'ordre d'un niveau enfant dans une hiérarchie

Pour déplacer le champ Discipline à la position après le champ Sport, procédez comme suit -

  • Cliquez avec le bouton droit sur le champ Discipline dans EventHierarchy.

  • Sélectionnez Monter dans la liste déroulante.

L'ordre des champs devient Sport-Discipline-Event.

Tableau croisé dynamique avec modifications de la hiérarchie

Pour afficher les modifications que vous avez apportées dans EventHierarchy dans le tableau croisé dynamique, vous n'avez pas besoin de créer un nouveau tableau croisé dynamique. Vous pouvez les afficher dans le tableau croisé dynamique existant lui-même.

Cliquez sur la feuille de calcul avec le tableau croisé dynamique dans la fenêtre Excel.

Comme vous pouvez le constater, dans la liste Champs de tableau croisé dynamique, les niveaux enfants de la hiérarchie des événements reflètent les modifications que vous avez apportées à la hiérarchie dans le modèle de données. Les mêmes modifications sont également reflétées dans le tableau croisé dynamique en conséquence.

Cliquez sur le signe + devant Aquatics dans le tableau croisé dynamique. Les niveaux enfants apparaissent comme des valeurs du champ Discipline.

Masquage et affichage des hiérarchies

Vous pouvez choisir de masquer les hiérarchies et de les afficher quand vous le souhaitez.

  • Décochez la case Hiérarchies dans le menu supérieur de la vue diagramme pour masquer les hiérarchies.

  • Cochez la case Hiérarchies pour afficher les hiérarchies.

Créer une hiérarchie d'autres manières

En plus de la façon dont vous avez créé la hiérarchie dans les sections précédentes, vous pouvez créer une hiérarchie de deux autres manières.

1. Cliquez sur le bouton Créer une hiérarchie dans le coin supérieur droit de la table de données Médailles dans la vue diagramme.

Une nouvelle hiérarchie est créée dans la table sans aucun champ.

Faites glisser les champs Année et Saison, dans cet ordre vers la nouvelle hiérarchie. La hiérarchie montre les niveaux enfants.

2. Une autre façon de créer la même hiérarchie est la suivante:

  • Cliquez avec le bouton droit de la souris sur le champ Année dans la table de données Médailles en vue diagramme.

  • Sélectionnez Créer une hiérarchie dans la liste déroulante.

Une nouvelle hiérarchie est créée dans la table avec Year comme champ enfant.

Faites glisser la saison sur le terrain vers la hiérarchie. La hiérarchie montre les niveaux enfants.

Supprimer une hiérarchie

Vous pouvez supprimer une hiérarchie du modèle de données comme suit:

  • Faites un clic droit sur la hiérarchie.

  • Sélectionnez Supprimer dans la liste déroulante.

le Confirmla boîte de dialogue apparaît. Cliquez surDelete from Model.

La hiérarchie est supprimée.

Calculs utilisant la hiérarchie

Vous pouvez créer des calculs à l'aide d'une hiérarchie. Dans la hiérarchie des événements, vous pouvez afficher le nombre de médailles au niveau d'un enfant sous forme de pourcentage du nombre de médailles à son niveau parent comme suit:

  • Cliquez avec le bouton droit de la souris sur la valeur du nombre de médailles d'un événement.

  • Sélectionnez Paramètres du champ de valeur dans la liste déroulante.

La boîte de dialogue Paramètres du champ de valeur s'affiche.

  • Clique le Show Values As languette.

  • Sélectionnez% du total de la ligne parent dans la liste et cliquez sur OK.

Les niveaux enfants sont affichés sous forme de pourcentage des totaux parents. Vous pouvez le vérifier en additionnant les valeurs en pourcentage du niveau enfant d'un parent. La somme serait de 100%.

Exploration et exploration d'une hiérarchie

Vous pouvez rapidement explorer les niveaux d'une hiérarchie vers le haut et vers le bas à l'aide de l'outil d'exploration rapide.

  • Cliquez sur une valeur du champ Événement dans le tableau croisé dynamique.

  • Cliquez sur l'outil Exploration rapide - qui apparaît dans le coin inférieur droit de la cellule contenant la valeur sélectionnée.

le Explore box with Drill UpL'option apparaît. En effet, à partir de l'événement, vous ne pouvez explorer que vers le haut car il n'y a pas de niveaux enfants en dessous.

Cliquez sur Drill Up.

Les données du tableau croisé dynamique sont explorées jusqu'à la discipline.

Cliquez sur l'outil Exploration rapide - qui apparaît dans le coin inférieur droit de la cellule contenant une valeur.

La zone Explorer apparaît avec les options Explorer vers le haut et Explorer vers le bas affichées. En effet, à partir de la discipline, vous pouvez accéder au sport ou descendre à l'événement.

De cette façon, vous pouvez rapidement monter et descendre dans la hiérarchie.