Créer un filtre en cascade

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • Les filtres en cascade vous permettent de filtrer en fonction de plusieurs valeurs dans une hiérarchie, par exemple, par région, pays et ville. Les choix de niveau inférieur sont filtrés en fonction des valeurs sélectionnées aux niveaux supérieurs.

    Avant de commencer

    Vous pouvez créer un filtre en cascade qui permet aux utilisateurs de sélectionner parmi une liste de gestionnaires, puis de sélectionner parmi les groupes qui dépendent de ce gestionnaire. Les données du rapport sont ensuite filtrées pour afficher uniquement les enregistrements affectés à ce groupe. Vous pouvez également laisser les niveaux inférieurs du filtre non sélectionnés, par exemple en sélectionnant uniquement un gestionnaire mais pas de groupe. Les données du rapport sont ensuite filtrées pour afficher les enregistrements affectés à n’importe quel groupe géré par ce gestionnaire. Les filtres en cascade conservent les derniers éléments sélectionnés sur un tableau de bord.

    Assurez-vous que la structure des données que vous utilisez pour créer le filtre est cohérente. Par exemple, dans un filtre en cascade basé sur l’emplacement, assurez-vous que les choix de niveau supérieur sont toutes les régions et que les choix de deuxième niveau sont tous les pays. Vous pouvez définir des conditions de filtre pour vous assurer que seuls les choix appropriés pour chaque niveau sont disponibles.

    Rôle requis : hp_publisher_admin et report_admin. Le rôle hp_publisher_admin existe uniquement pour la gestion des filtres interactifs. Par défaut, il ne contient aucun autre rôle et n’est contenu dans aucun autre rôle.

    Pourquoi et quand exécuter cette tâche

    Cette procédure comprend des exemples basés sur un filtre interactif en cascade à l’aide de gestionnaires et de groupes. Dans cet exemple, le choix de niveau supérieur permet aux utilisateurs de sélectionner un gestionnaire et le choix de deuxième niveau permet aux utilisateurs de sélectionner un groupe d’utilisateurs géré par ce gestionnaire.
    Figure 1. Exemple de filtre en cascade
    Exemple de filtre en cascade
    Remarque :
    Vous pouvez filtrer les rapports en fonction des valeurs des champs de référence uniquement. Les filtres en cascade prennent uniquement en charge le type de contrôle d’interface utilisateurà sélection unique.

    Procédure

    1. Accédez à la Tout > Rapports > Administration > Filtres interactifs.
    2. Cliquez sur Nouveau.
    3. Dans la liste Filtre basé sur , sélectionnez Filtres en cascade.
    4. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
    5. Définissez le premier niveau du filtre en cascade.
      1. Dans la liste connexe Filtre en cascade , cliquez sur Nouveau.
      2. Sélectionnez la table et le champ d’affichage dans la table qui contient les valeurs que vous souhaitez utiliser comme choix de filtre de niveau supérieur. Le champ d’affichage est limité aux types booléen, choix, référence et chaîne.
        Pour définir le niveau supérieur d’une hiérarchie basée sur les gestionnaires et les groupes qu’ils gèrent, sélectionnez Groupe [sys_user_group] en tant que table et Gestionnaire en tant que champ d’affichage.
      3. Facultatif : Utilisez le champ Filtres pour limiter les choix disponibles pour les utilisateurs.
        Les conditions de filtre sont particulièrement utiles lorsque vous créez un filtre en cascade basé sur une table auto-référencée, telle que Emplacement [cmn_location]. Filtrez les données pour vous assurer que chaque niveau du filtre en cascade ne dispose que d’options appropriées pour ce niveau.
      4. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
    6. Définissez le niveau suivant de la hiérarchie.
      Les filtres en cascade utilisent une relation un-à-plusieurs entre les filtres de niveau supérieur et les filtres de niveau inférieur. Un filtre de niveau supérieur peut affecter les choix disponibles dans n’importe quel nombre de filtres de niveau inférieur.
      1. Dans le filtre du gestionnaire, dans la liste connexe Filtre en cascade , cliquez sur Nouveau.
      2. Sélectionnez la table et le champ d’affichage dans la table qui contient les valeurs que vous souhaitez utiliser comme choix de filtre de deuxième niveau. Le champ d’affichage est limité aux types booléen, choix, référence et chaîne.
        Dans l’exemple des gestionnaires et des groupes, sélectionnez Groupe [sys_user_group] en tant que table et Nom en tant que champ d’affichage.
      3. Dans le champ Champ de référence parent , sélectionnez le champ qui contient la valeur sélectionnée à partir du filtre de niveau supérieur.
        Par exemple, lorsque vous créez le filtre Groupe, la valeur Champ de référence parent est Gestionnaire. Dans cet exemple, le gestionnaire sélectionné dans le premier filtre est utilisé pour filtrer la liste des groupes disponibles en fonction de la valeur du champ Gestionnaire de chaque groupe.
      4. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
      5. Répétez ces sous-étapes pour chaque filtre supplémentaire que vous souhaitez ajouter.
        Pour ajouter un autre niveau à la hiérarchie des filtres, ajoutez un nouvel enregistrement dans la liste connexe Filtre en cascade du filtre de niveau le plus bas. Par exemple, ajoutez le filtre Groupe au lieu d’un filtre de niveau supérieur tel que le filtre Gestionnaire.
    7. Définissez la façon dont chaque niveau de filtre applique le filtre aux rapports d’un tableau de bord.
      1. Dans la liste connexe Tables cibles , cliquez sur Nouveau.
      2. Sélectionnez la table cible qui contient les données que vous souhaitez filtrer, telle que Incident.
      3. Sélectionnez le champ sur lequel filtrer.
        Le champ doit référencer la table spécifiée dans le filtre. Par exemple, lors du filtrage des données d’incident, le champ du filtre du gestionnaire de niveau supérieur est Groupe d’affectation. Gestionnaire. Dans cet exemple, le champ du filtre de groupe de deuxième niveau est Groupe d’affectation.
      4. Cliquez sur Envoyer.
      5. Répétez ces sous-étapes pour ajouter des cibles pour chaque niveau du filtre.
        Vous pouvez définir plusieurs cibles pour chaque niveau de filtre. Par exemple, filtrez les données d’incident par groupe d’affectation ou les CI CMDB par groupe de support à l’aide du même filtre Groupes [sys_user_group].
        Remarque :
        Une hiérarchie de filtres en cascade doit spécifier au moins une cible. Vous pouvez définir un filtre en cascade qui ignore les niveaux d’une hiérarchie ou un filtre en cascade qui spécifie uniquement des cibles pour certains niveaux d’une hiérarchie. Par exemple, définissez une cible uniquement pour le filtre au niveau du groupe et non pour le filtre au niveau du gestionnaire. Dans cet exemple, les rapports ne sont filtrés que lorsqu’un utilisateur sélectionne un groupe spécifique et pas seulement un gestionnaire.
      Les images suivantes illustrent la configuration terminée de l’exemple de filtre en cascade. La liste connexe Filtre en cascade (non affichée) dans le filtre de niveau supérieur contient le filtre de deuxième niveau.
      Filtre de niveau supérieur Filtre de deuxième niveau
      Exemple de filtre de niveau supérieur de filtre en cascade Exemple de filtre de deuxième niveau de filtre en cascade

    Que faire ensuite

    1. Une fois que vous avez créé tous les niveaux du filtre, ajoutez-le à un tableau de bord.
    2. Dans le tableau de bord, sélectionnez l’icône Modifier le widget (Icône Modifier les colonnes) sur chaque visualisation du tableau de bord qui doit suivre le filtre, puis sélectionnez Suivre le filtre interactif.

    Déduplication des filtres en cascade

    Pour que vous n’ayez pas à nettoyer le panneau de filtre, les filtres en double sont automatiquement supprimés.

    Les filtres en double sont supprimés en fonction des critères suivants :
    • Si la configuration est identique, le dernier filtre modifié est conservé.
    • Si la configuration est la même, à l’exception de certains filtres qui n’ont qu’une seule cible et d’autres qui en ont plusieurs, seul le dernier filtre mis à jour est conservé.
    • Si la configuration est la même, mais que certains filtres ont plusieurs colonnes cibles dans la même table cible, tous les filtres sont considérés comme des filtres distincts et conservés. Les colonnes Date d’ouverture et Date d’escalade de la table Incident sont un exemple de plusieurs colonnes cibles dans la même table cible.
    • Si la configuration et le contrôle de l’interface utilisateur sont identiques, mais que la condition de base est différente pour deux filtres quelconques, ils sont considérés comme des filtres distincts et conservés.