8.2.8 Regroupement hiérarchique des données
Caractéristiques des données nécessaires au regroupement hiérarchique
Thérèse
Gabriel
Valérie
Guillaume
France
Rita
Marguerite
Paul
●
●
Vous pouvez regrouper les données d'un rapport afin de mettre en évidence leurs relations hiérarchiques.
Lorsque vous regroupez les données hiérarchiquement, Crystal Reports trie des informations en fonction des relations existant entre deux champs. Une relation hiérarchique doit être inhérente aux données utilisées dans le rapport :
●
●
Les champs parent et enfant doivent être du même type de données pour que le programme puisse identifier une relation entre eux.
Les données du champ parent doivent être un sous-ensemble des données du champ enfant.
Pour que le niveau supérieur d'une hiérarchie apparaisse dans un rapport, la valeur doit apparaître dans les données enfant tandis que la ligne correspondante dans les données parent doit être vide.
Il ne peut pas exister de logique circulaire entre les données (en d'autres termes, A ne peut pas être lié à B, tandis que B est lié à C et C à A).
Par exemple, si vous voulez mettre en évidence les relations hiérarchiques entre des employés qui travaillent dans le même service, vous pouvez regrouper les données par noms d'employés (champ enfant) et indiquer la hiérarchie à l'aide d'un champ qui répertorie le nom du responsable de chaque employé (champ parent). Votre base de données pourrait ressembler à l'exemple ci-après.
Employé (enfant)
Jeanne
Responsable (parent)
Thomas
Mina
Gérard
Albert
Thomas
Elizabeth
Thomas
Thomas
Mina
Thomas
Thomas
Thomas
Thomas
Mina
Guillaume
Guillaume
Mina
Marguerite
160
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
Employé (enfant)
Charles
Responsable (parent)
Marguerite
Les champs Employé et Responsable contiennent des données qui se chevauchent ce qui implique entre eux une relation hiérarchique. Il existe 15 noms d'employés uniques, dont quatre apparaissent également comme superviseurs (Mina, Thomas, Guillaume et Marguerite). Mina est la responsable de trois employés, Thomas de sept, Guillaume de deux tout comme Marguerite.
Remarque
Le champ Responsable correspondant à l'employé Mina est vide. Cela signifie qu'elle est une responsable de tout premier niveau qui n'a pas de supérieur hiérarchique dans ce tableau.
Si vous regroupez les données du champ Employé dans un rapport Crystal, vous pourrez ultérieurement trier ces données pour mettre en évidence la relation hiérarchique existant entre les employés et leurs responsables.
Caractéristiques d'un rapport regroupé hiérarchiquement
Outre une représentation visuelle de la hiérarchie inhérente à vos données, un rapport Crystal regroupé hiérarchiquement présente d'autres caractéristiques :
●
●
●
●
Lorsque vous explorez en avant un groupe de la hiérarchie, la vue d'exploration affiche également les enregistrements situés plus bas dans la hiérarchie.
Le rapport contient des pieds de page de groupe hiérarchique comprenant les enregistrements situés plus bas dans la hiérarchie de chaque groupe. Vous pouvez résumer les données des hiérarchies.
Utilisez l'emplacement X conditionnel afin de vous assurer que le retrait que vous avez défini pour afficher les relations hiérarchiques n'a pas d'incidence sur d'autres champs de la même section du rapport.
Les niveaux hiérarchiques sont gérés dans le langage de formule grâce aux fonctions GroupingLevel et
HierarchyLevel.
Remarque
Vous ne pouvez pas utiliser de résumés hiérarchiques dans des formules.
8.2.8.1 Pour regrouper les données hiérarchiquement
1. Créez ou ouvrez un rapport contenant les données que vous souhaitez regrouper et trier hiérarchiquement.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
161
2. Dans le menu Insertion , cliquez sur Groupe .
3. Dans la boîte de dialogue Insérer un groupe, sélectionnez le champ à utiliser en tant que base de votre hiérarchie (champ enfant).
Par exemple, pour afficher la structure hiérarchique des employés d'une société, sélectionnez le champ employé.
4. Sélectionnez Dans l'ordre croissant .
Par défaut, l'en-tête de groupe du rapport affiche la valeur du champ sur lequel vous effectuez le regroupement.
5. Pour afficher une valeur différente dans l'en-tête de groupe, cliquez sur l'onglet Options et activez la case à cocher Personnaliser le champ du nom de groupe .
Par exemple, si vous avez effectué un regroupement par employé, vous verrez à chaque changement de groupe le nom de l'employé correspondant. Pour afficher une autre valeur (l'ID employé au lieu du nom de l'employé), personnalisez le champ de nom de groupe en sélectionnant un autre champ de données ou en créant une formule.
6. Cliquez sur OK .
Le groupe que vous avez créé est ajouté au rapport.
162
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
7. Dans le menu Rapport , cliquez sur Options de regroupement hiérarchique .
8. Dans la liste Groupes disponibles de la boîte de dialogue Options de hiérarchie, sélectionnez le groupe à organiser hiérarchiquement.
9. Cochez la case Tri hiérarchique des données .
10. Dans le champ ID parent , sélectionnez le champ selon lequel vous souhaitez organiser le champ ID instance.
Par exemple, dans le cas d'un organigramme, vous pouvez sélectionner le champ contenant le supérieur hiérarchique de l'employé.
Remarque
Les champs ID instance et ID parent doivent être de même type. Par exemple, si le champ ID instance contient des données de type chaîne, alors le champ ID parent doit également en contenir.
11. Dans le champ Retrait du groupe , saisissez la valeur de retrait souhaité pour chaque sous-groupe.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
163
La valeur que vous saisissez dans le champ Retrait du groupe se répercute sur tous les autres objets situés dans la même zone que votre groupe hiérarchique. Par exemple, si votre rapport contient un champ Salaire sur la même ligne que le nom de l'employé, le champ Salaire est lui aussi mis en retrait si vous utilisez le champ Employé pour créer un groupe hiérarchique. Pour mettre en retrait uniquement les enregistrements hiérarchiques et pas les autres objets, laissez cette valeur définie sur 0 (zéro) et utilisez l'emplacement X conditionnel.
12. Cliquez sur OK .
Les données du rapport sont désormais regroupées hiérarchiquement.
Remarque
Dans cet exemple, la section Détails du rapport a été masquée afin de faire apparaître plus clairement le tri hiérarchique.
164
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
Les données du rapport sont maintenant regroupées par nom d'employé et triées en fonction de la relation hiérarchique qui les relie. Vous pouvez ainsi voir que Mina, dont le champ Employé n'a aucun champ Responsable correspondant, a été placée au sommet de la liste. Sous le nom de Mina apparaît le nom de chaque responsable dont elle est supérieur hiérarchique, et sous chacun de ces responsables, la liste des employés dont ils sont supérieurs hiérarchiques.
Remarque
Le niveau auquel le nom d'une personne apparaît dans la hiérarchie de ce rapport dépend du nombre d'employés dont elle est supérieur hiérarchique. Les employés qui ne sont le supérieur hiérarchique de personne se trouvent au dernier niveau de la hiérarchie.
Le cas échéant, vous pouvez désormais calculer des champs de résumé dans le nouveau regroupement hiérarchique. Lors de l'insertion d'un sous-total, d'un total général ou d'un résumé avec la méthode habituelle,
sélectionnez l'option Résumer toute la hiérarchie. Pour en savoir plus, voir
166] et
8.2.8.2 Pour mettre une hiérarchie en retrait sans que cela n'influe sur les autres champs
Remarque
Pour que cette procédure fonctionne, vous devez vérifier que la valeur du champ Retrait du groupe de la boîte de dialogue Options de groupe hiérarchique est définie sur 0 (zéro).
1. Cliquez avec le bouton droit de la souris sur le champ que vous avez regroupé hiérarchiquement, puis sélectionnez Taille et emplacement .
2.
Cliquez sur le bouton Formule conditionnelle en regard du champ de valeur de position X.
3. Dans l'Atelier de formules, saisissez le texte de votre formule conditionnelle de position X.
Par exemple, saisissez un texte de formule tel que : numbervar hLevel := HierarchyLevel (1); numbervar deltaX := 0; if (hLevel > 1) then
deltaX := (hLevel - 1) * 0.4; deltaX := deltaX * 1440;
Remarque
Il existe plusieurs manières de créer cette formule, ce code en étant un exemple.
Remarque
Les positions sont mesurées en twips ; un pouce représente 1 440 twips.
Recherchez le texte "HierarchyLevel (GroupingLevel)" dans l'aide en ligne pour en savoir plus sur la fonction utilisée dans cet exemple.
Guide de l'utilisateur SAP Crystal Reports 2013
Tri, regroupement et calculs des totaux
©
2014 SAP AG ou société affiliée SAP. Tous droits réservés.
165

Link pubblico aggiornato
Il link pubblico alla tua chat è stato aggiornato.