Création de requêtes hiérarchiques

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 6 minutes de lecture
  • Simplifiez et créez des requêtes plus efficaces en tirant parti des relations hiérarchiques dans le générateur de conditions.

    Avantages clés

    • Filtrez les données de table dans le générateur de conditions en fonction d’une hiérarchie des enregistrements.
    • Recherchez dans toute une hiérarchie avec une seule condition.
    • Rationalisez la création de requêtes avec moins de maintenance continue.

    La création de requêtes dans le générateur de conditions peut devenir fastidieuse lorsque vous devez effectuer une recherche dans chaque niveau d’une relation hiérarchique à l’aide de plusieurs conditions OU. Les requêtes hiérarchiques rationalisent ce processus en vous permettant de spécifier un seul nœud et de rechercher dans la hiérarchie à partir de là, ce qui vous permet d’économiser du temps et des efforts.

    Définition de hiérarchies avec des champs de référence

    Une hiérarchie entre enregistrements connexes dans la même table est basée sur un champ de référence. Vous pouvez utiliser un champ de référence existant avec des relations parent-enfant ou en créer un nouveau et le renseigner avec des valeurs pour chaque enregistrement.

    Par exemple, vous pouvez définir une hiérarchie sur la table Emplacement [cmn_location] à l’aide du champ Parent. Chaque emplacement a un parent, qui est un autre enregistrement dans la table Emplacement [cmn_location]. Par exemple, les enregistrements d’emplacement de Chicago et de Springfield ont la valeur sys_id de l’enregistrement d’emplacement de l’Illinois dans leur champ Parent. Les adresses postales ont des emplacements sys_id pour les villes auxquelles elles appartiennent dans leur champ Parent.

    De nombreuses tables contiennent des champs autoréférentiels, indiquant une relation parent-enfant entre les enregistrements. Toutefois, les chemins hiérarchiques qui facilitent la recherche dans la hiérarchie dans le générateur de conditions ne sont pas générés par le Now Platform tant que vous n’avez pas défini une hiérarchie pour cette table dans la table Hiérarchie des enregistrements [sys_record_hierarchy].

    Une fois que vous avez créé une hiérarchie des enregistrements pour la table d’emplacement [cmn_location], le Now Platform chemin hiérarchique est automatiquement créé pour chaque enregistrement d’emplacement de la table. Cela crée une structure imbriquée où chaque emplacement peut avoir des sous-emplacements, formant une hiérarchie arborescente. Le met automatiquement à jour ces chemins d’accès Now Platform lorsque des enregistrements sont ajoutés, modifiés ou supprimés.

    Une fois la hiérarchie définie et chaque enregistrement mis à jour avec les informations de chemin hiérarchique par le Now Platform, vous pouvez utiliser le générateur de conditions pour créer des requêtes ciblées. Par exemple, vous pouvez spécifier un point de départ dans la hiérarchie des emplacements et interroger la hiérarchie pour récupérer tous les actifs associés aux emplacements dans cette partie de la hiérarchie.

    Vue d’ensemble des requêtes de bâtiments

    1. Identifiez une table contenant des enregistrements parent-enfant que vous souhaitez utiliser pour construire des requêtes hiérarchiques. Par exemple, pour créer des requêtes basées sur l’emplacement d’un appelant ou d’un actif, vous pouvez définir une hiérarchie des enregistrements basée sur la table Emplacement [cmn_location].
    2. Déterminez le champ de référence de la table qui définit les relations entre les enregistrements. Par exemple, le champ Parent de la table Emplacement [cmn_location] décrit l’emplacement qui appartient à un autre emplacement.
    3. Créez une hiérarchie dans la table Hiérarchies d’enregistrements [sys_record_hierarchy] et spécifiez la table et le champ de référence que vous voulez utiliser. Ajoute Now Platform automatiquement des informations de chemin hiérarchique à chaque enregistrement de la table.
    4. Créez des requêtes hiérarchiques dans le générateur de conditions en sélectionnant la hiérarchie que vous avez créée. Utilisez des opérateurs pour effectuer une recherche dans la hiérarchie.

    Cas d'utilisation

    Vous pouvez définir une hiérarchie des enregistrements à l’aide d’un champ de référence avec des relations avec les enregistrements de la même table. Les tables Emplacement [cmn_location], Utilisateurs [sys_user] et Département [cmn_department] contiennent des champs de référence avec des relations parent-enfant par défaut. Vous pouvez également créer un champ de référence sur une autre table et le renseigner avec des valeurs pour chaque enregistrement.

    Hiérarchie des emplacements
    Recherchez des enregistrements en fonction de l’emplacement en créant une hiérarchie des enregistrements appelée hiérarchie parente basée sur le champ de référence Parent dans la table Emplacement [cmn_location].

    Une fois la hiérarchie des enregistrements créée, chaque enregistrement d’emplacement est mis à jour avec un chemin hiérarchique, ce qui vous permet de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie des emplacements. Étant donné que les enregistrements d’incidents ont un champ de référence Emplacement, vous pouvez rechercher des incidents en fonction de l’emplacement de l’appelant.

    • Trouvez tous les incidents des appelants basés dans l’Illinois à l’aide d’une requête telle que :

      [Emplacement] [est dans la hiérarchie] [Hiérarchie parente] commençant à [Illinois] qui est [Inclus]

      Cette requête renvoie les incidents pour lesquels l’appelant se trouve dans l’Illinois, dans une ville de l’Illinois ou à une adresse postale dans une ville de l’Illinois.

    • Recherchez les incidents pour les villes et les adresses postales de l’Illinois, mais pas les incidents pour lesquels l’emplacement de l’appelant est simplement l’Illinois à l’aide d’une requête telle que :

      [Emplacement] [est dans la hiérarchie] [Hiérarchie parente] commençant à [Illinois] qui est [exclu]

    • Recherchez tous les incidents en fonction de votre emplacement en tant qu’utilisateur connecté à l’aide d’un filtre dynamique dans une requête telle que :

      [Emplacement] [est dans la hiérarchie (dynamique)] [Hiérarchie parente] à partir de [Mon emplacement] qui est [inclus]

    Hiérarchie des organisations
    Recherchez des enregistrements tout au long de la chaîne de gestion de votre organisation en créant une hiérarchie d’enregistrements appelée Hiérarchie d’organisation basée sur le champ de référence Gestionnaire de la table Utilisateurs [sys_user].

    Une fois la hiérarchie des enregistrements créée, chaque enregistrement utilisateur est mis à jour avec un chemin hiérarchique, ce qui vous permet de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie de gestion. L’interrogation d’une table et la sélection d’un champ de référence pointant vers la table Utilisateurs [sys_user] vous permettent de parcourir la chaîne de gestion.

    • Recherchez tous les incidents affectés aux utilisateurs qui relèvent de Bud Richman à l’aide d’une requête telle que :

      [Affecté à] [est dans la hiérarchie] [Hiérarchie de l’organisation] à partir de [Bud Richman] qui est [Inclus]

      Dans cet exemple, la recherche dans la hiérarchie renvoie les incidents affectés à Bud Richman, y compris les incidents affectés aux utilisateurs qui dépendent de Bud et de leurs subordonnés directs, et ainsi de suite.

    • Recherchez tous les incidents qui vous sont affectés ainsi qu’aux utilisateurs de votre propre organisation à l’aide d’une requête dynamique telle que :

      [Affecté à] [est dans la hiérarchie (dynamique)] [Hiérarchie de l’organisation] à partir de [Moi] qui est [inclus]

    • Affichez la chaîne de gestion elle-même en filtrant directement sur la table Utilisateurs [sys_user] à l’aide d’une requête telle que :

      [Responsable] [est dans la hiérarchie] [Hiérarchie de l’organisation] à partir de [Bud Richman] qui est [inclus]

    • Affichez les utilisateurs qui dépendent de vous en filtrant directement sur la table Utilisateurs [sys_user] à l’aide d’une requête dynamique telle que :

      [Responsable] [est dans la hiérarchie (dynamique)] [Hiérarchie de l’organisation] à partir de [Moi] qui est [inclus]

    Hiérarchie du département
    Recherchez des actifs associés aux départements de votre entreprise en créant une hiérarchie d’enregistrements appelée hiérarchie de département basée sur le champ de référence Parent dans la table Département [cmn_department].

    Une fois la hiérarchie des enregistrements créée, chaque enregistrement de département est mis à jour avec un chemin hiérarchique, ce qui vous permet de créer des requêtes dans le générateur de conditions en fonction de la hiérarchie des départements. Étant donné que les enregistrements d’actifs ont un champ de référence Département qui pointe vers le champ Département dans la table Actifs [sys_user], vous pouvez interroger les actifs qui appartiennent à un département spécifique.

    • Recherchez tous les actifs qui appartiennent au département IT à l’aide d’une requête telle que :

      [Département] [est dans la hiérarchie] [Hiérarchie du département] en commençant à [Informatique] qui est [Inclus]

      Dans cet exemple, la recherche dans la hiérarchie renvoie les actifs associés au département informatique, y compris les actifs associés aux départements qui font partie du département informatique, et ainsi de suite.

    • Trouvez tous les départements sous le département IT en filtrant directement sur la table Départements [cmn_department] à l’aide d’une requête telle que :

      [Parent] [est dans la hiérarchie] [Hiérarchie du département] en commençant à [Informatique] qui est [Inclus]